新聞中心
在C語言中,static關鍵字有多種用途,包括修飾變量、函數(shù)和內部文件作用域,下面將詳細介紹static關鍵字的用法:

杜爾伯特ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
1、靜態(tài)局部變量
靜態(tài)局部變量是在函數(shù)內部定義的,但它們的生命周期貫穿整個程序運行期間,這意味著靜態(tài)局部變量在程序啟動時被初始化一次,并在程序結束時銷毀,靜態(tài)局部變量只能被初始化一次,不能再次賦值。
示例代碼:
#includevoid func() { static int count = 0; // 靜態(tài)局部變量 count++; printf("count: %d ", count); } int main() { for (int i = 0; i < 5; i++) { func(); } return 0; }
輸出結果:
count: 1 count: 2 count: 3 count: 4 count: 5
2、靜態(tài)全局變量
靜態(tài)全局變量是在函數(shù)外部定義的,它們的作用范圍僅限于當前源文件,這意味著其他源文件無法訪問這個變量,靜態(tài)全局變量在程序啟動時被初始化一次,并在程序結束時銷毀。
示例代碼:
file1.c
#includestatic int global_var = 10; // 靜態(tài)全局變量 void print_global_var();
file2.c
#includeextern int global_var; // 聲明靜態(tài)全局變量 void print_global_var() { printf("global_var: %d ", global_var); }
main.c
extern void print_global_var();
int main() {
print_global_var();
return 0;
}
編譯并運行:
gcc file1.c file2.c main.c o main ./main
輸出結果:
global_var: 10
3、靜態(tài)函數(shù)
靜態(tài)函數(shù)是在函數(shù)前加上static關鍵字定義的,它們的作用范圍僅限于當前源文件,這意味著其他源文件無法調用這個函數(shù),靜態(tài)函數(shù)通常用于實現(xiàn)模塊內部的輔助功能,不希望被其他模塊調用。
示例代碼:
file1.c
#includestatic void static_func() { // 靜態(tài)函數(shù) printf("This is a static function. "); } void call_static_func();
file2.c
#includeextern void call_static_func(); // 聲明靜態(tài)函數(shù) int main() { call_static_func(); return 0; }
file1.c(修改后)
#includestatic void static_func() { // 靜態(tài)函數(shù) printf("This is a static function. "); } void call_static_func() { // 普通函數(shù),用于調用靜態(tài)函數(shù) static_func(); }
編譯并運行:
gcc file1.c file2.c o main ./main
輸出結果:
This is a static function.
文章標題:c語言static怎么用
URL分享:http://www.dlmjj.cn/article/cdpsiic.html


咨詢
建站咨詢
