1、關鍵字static
在區域性靜態變數前面加上關鍵字static,該區域性變數便成了靜態區域性變數。靜態區域性變數有以下特點:
(1)該變數在全域性資料區分配記憶體
(2)如果不顯示初始化,那麼將被隱式初始化為0
(3)它始終駐留在全域性資料區,直到程式執行結束
(4)其作用域為區域性作用域,當定義它的函式或語句塊結束時,其作用域隨之結束。
在全域性變數前面加上關鍵字static,該全域性變數變成了全域性靜態變數。
全域性靜態變數有以下特點:
(1)在全域性資料區內分配記憶體
(2)如果沒有初始化,其預設值為0
(3)該變數在本檔案內從定義開始到檔案結束可見,即只能在本檔案內使用
在函式的返回型別加上static關鍵字,函式即被定義成靜態函式。
靜態函式有以下特點:
(1) 靜態函式只能在本原始檔中使用
(2) 在檔案作用域中宣告的inline函式預設為static
2、關鍵字const
const用來定義唯讀變數,具有不可變性。
const修飾一般變數的兩種格式:const int * p; // p可變,p指向的物件不可變
int const * p; // p可變,p指向的物件不可變
int * const p; // p不可變,p指向的物件可變
const int * const p; // 指標p和p指向的物件都不可變
const修飾函式的引數:int const i = 2;
const int i = 2;
void fun(const int *p);
const修飾函式的返回值:
const int fun(void);
定義或說明乙個唯讀陣列可採用如下兩種格式:
3、測棧的大小int const a[5] = ;
const int a[5] =
4、 記憶體管理#include #define num 1024*1024*7/*一般棧的大小佔到8mkb,但輸出語句也佔了一些記憶體,所以乘7*/
int main();
data[num-1+1000] = 12;
printf ("num = %d\n", data[num-1+1000]);
return 0;
}
malloc()函式是在記憶體的動態儲存區中分配乙個長度為size位元組的連續空間。
int main()
C語言關鍵字
c語言關鍵字 在檔案範圍的教訓和關鍵字,你知道靜態變數保持他們的價值觀,甚至不在他們超出範圍的破壞。比如說呢。int generateid int main this program prints 01 2 請注意,s nid一直保持它的價值的跨多個函式呼叫。static關鍵字有另一種意思當應用到全...
C語言關鍵字
關鍵字就是已被c語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變數名 函式名等 由ansi標準定義的c語言關鍵字共32個 auto double int struct break else long switch case enum register typedef char extern...
c語言關鍵字
c 語言標準定義的32 個關鍵字 1 auto 宣告自動變數,預設時編譯器一般預設為auto int 宣告整型變數 double 宣告雙精度變數 雙精度浮點型 long 宣告長整型變數 char 宣告字元型變數 float 宣告浮點型變數 單精度浮點型 6.1 float的有效位通常有 位,指的是小...