C語言中的static關鍵字有以下幾種作用:
void func() {
static int count = 0;
count++;
printf("count: %d\n", count);
}
int main() {
func(); // 輸出: count: 1
func(); // 輸出: count: 2
return 0;
}
// file1.c
static int count = 0;
// file2.c
extern int count; // 編譯錯誤,無法訪問file1.c中的count變量
// file1.c
static void func() {
printf("Hello, World!\n");
}
// file2.c
extern void func(); // 編譯錯誤,無法調用file1.c中的func函數
int func() {
static int count = 0;
count++;
return count;
}
int main() {
printf("%d\n", func()); // 輸出: 1
printf("%d\n", func()); // 輸出: 2
return 0;
}