C語言學習筆記 static用法

2021-09-02 20:18:45 字數 605 閱讀 4773

1、修飾區域性變數

1)位置:靜態區域性變數被編譯器放在全域性儲存區靜態儲存區,所以它雖然是區域性的,但是在程式的整個生命週期中存在。

2)訪問許可權:靜態區域性變數只能被其作用域內的變數或函式訪問。也就是說雖然它會在程式的整個生命週期中存在,由於它是static的,它不能被其他的函式和原始檔訪問。

3)值:static區域性變數初次定義時就要初始化,且只能初始化一次。如果在定義的時候不初始化,編譯器就會自動賦值為0,以後在每次呼叫函式時就不再重新賦初值,而是保留上次函式呼叫結束時的值。

使用靜態區域性變數最好的示例就是實現統計次數的功能,如下面示例所示。

#include void count();

int main(void)

return 0;

}void count()

2、修飾函式和全域性變數:static修飾全域性變數的時候,這個全域性變數只能在本檔案中訪問,不能在其它檔案中訪問,即便是extern外部宣告也不可以;static修飾乙個函式,則這個函式的只能在本檔案中呼叫,不能被其他檔案呼叫;起到隱藏與隔離的作用

C語言學習筆記 typede用法

typedef 關鍵字 自定義資料型別名稱,來替代系統預設的基本型別名稱 陣列型別名稱 指標型別名稱與使用者自定義的結構型名稱 共用型名稱 列舉型名稱等。1 為基本資料型別定義新的型別名 也就是說,系統預設的所有基本型別都可以利用 typedef 關鍵字來重新定義型別名,示例 如下所示 typede...

C語言學習筆記

include include void swap int p1,int p2 void swapa int arr,int n void printfa int arr,int n int main int argc,char argv swap i,j printfa array,6 swapa...

C語言學習筆記

file 結構 包含在stdio.h裡 ifndef file defined struct iobuf typedef struct iobuf file define file defined endif fread 功 能 從乙個流中讀資料 函式原型 size t fread void buf...