1.c 語言聲明的作用:
在C語言中你所聲明的所有字符串,會根據你當初對它聲明的不同表現出不同的含義!你對字符串的聲明,即代表此字符串所擁有的屬性!是變量還是函數都會依據你的聲明所定!例如:int func(void) , 此聲明為一個典型的函數聲明,此後出現func字符串,即代表對func函數的調用!func字符串代表的是一個函數,即一個處理過程的地址!int a[2], 此聲明為一個數組的地址,所以在以後出現a字符串的地方即代表數組的首地址!
2. 函數和標號的問題:
函數和標號所代表的其實都是例程地址,例程,即處理一件事物的指令代碼集,函數和標號所不同的是,函數有參數和return操作,而標號只是一串順序執行的指令集!
3. Linux下編譯出現警告: ISO C90 不允許混合使用聲明和代碼的解決辦法
由於Linux是基於C 語言編寫的其遵循先定義後使用的原則;
規定不能在定義變量之前出現輸入或輸出語句或者其他調用函數的語句;
必須所有的函數調用語句出現在定義變量類型之後;
例如:void fun()
{
printf("This is a strange World!\n");
int i;
char buf[128];
}
如果這個程序運行會出現以上警告:ISO C90 不允許混合使用聲明和代碼
改正方法:
void fun()
{
int i;
char buf[128];
printf("This is a strange World!\n");
}
4. C 語言中的訪問控制符
C 語言與C++ 或Java中的訪問控制符相比來說,C 語言的訪問控制符(static)只有一種,用來控制函數和變量的作用域!
5. 靜態存儲方式
所謂靜態存儲方式是指在程序運行期間分配固定的存儲空間的方式,和動態分配的堆棧存儲空間相對應。在C語言中,靜態變量(static)存儲在靜態存儲區內,但並不是靜態存儲區內的所有變量都屬於靜態變量,也存在全局變量!當全局變量被定義為靜態後,該全局變量將只能在其所在的文件模塊中的函數使用,其他文件模塊中的函數不能訪問!