C語言關鍵字

2021-09-02 07:25:40 字數 1614 閱讀 8306

1、關鍵字static

在區域性靜態變數前面加上關鍵字static,該區域性變數便成了靜態區域性變數。靜態區域性變數有以下特點:

(1)該變數在全域性資料區分配記憶體

(2)如果不顯示初始化,那麼將被隱式初始化為0

(3)它始終駐留在全域性資料區,直到程式執行結束

(4)其作用域為區域性作用域,當定義它的函式或語句塊結束時,其作用域隨之結束。

在全域性變數前面加上關鍵字static,該全域性變數變成了全域性靜態變數

全域性靜態變數有以下特點:

(1)在全域性資料區內分配記憶體

(2)如果沒有初始化,其預設值為0

(3)該變數在本檔案內從定義開始到檔案結束可見,即只能在本檔案內使用

在函式的返回型別加上static關鍵字,函式即被定義成靜態函式

靜態函式有以下特點:

(1) 靜態函式只能在本原始檔中使用

(2) 在檔案作用域中宣告的inline函式預設為static

2、關鍵字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;

const修飾函式的引數:

void fun(const int *p);
const修飾函式的返回值:

const int fun(void);
定義或說明乙個唯讀陣列可採用如下兩種格式:

int const a[5] = ;

const int a[5] =

3、測棧的大小

#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;

}

4、 記憶體管理

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的有效位通常有 位,指的是小...