void 修飾函式返回值和引數——為了表示「無」,如果函式沒有返回值,那麼應該將其宣告為 void,同樣的,如果函式沒有引數,也應該宣告其引數為 void
//f()函式任意引數,返回值預設
f()
//函式無參無返回值
void f(void
)
c 語言沒有定義 void 究意是多大記憶體的別名,沒有 void 標尺,無法在記憶體中裁出大小
#includeintmain()
(1)c 語言規定只有相同型別的指標才可以相互賦值
(2)void* 指標作為左值用於「接收」任意型別的指標
(3)void* 指標作為右值使用時需要進行強制型別轉換
int* pi = (int*)malloc(sizeof(int));char* pc = (char*)malloc(sizeof(char
));void* p =null;
int* pni =null;
char* pnc =null;
p =pi; //
ok,void*指標 p 可接收任何型別的指標
pni= p; //
error,void*須強制型別轉換,即 pni =(int*)p;
p =pc; //
okpnc= p; //
error,應為 pnc=(char*)p;
通過 void*實現 memset 函式
#include void memset(void* src, int length, unsigned charn)}intmain()
return0;
}
c語言學習筆記 關鍵字
auto 定義變數為區域性變數,在函式中定義變數時預設為auto static 定義靜態區域性變數,使用static修飾的變數將被放置到資料段,為空鏈結 register 告知編譯器將盡可能變數存放到暫存器中,但該關鍵字只是乙個請求,並不能保證執行,linux中就有乙個變數被此關鍵字修飾 gd,被此...
C語言學習筆記 type關鍵字
typedef為c語言的關鍵字,作用是為一種資料型別定義乙個新名字。這裡的資料型別包括內部資料型別 int,char等 和自定義的資料型別 struct等 使用typedef定義新型別的方法 在傳統的變數宣告表示式裡用 新的 型別名替換變數名,然後把關鍵字typedef加在該語句的開頭即可。例 in...
C語言學習之關鍵字
在我們講解關鍵字之前,我們先來了解一下宣告跟定義的區別 定義 所謂定義就是 編譯器 建立了乙個物件,並為這一物件分配了記憶體並且給它取了乙個名字,這個名字就是我們經常所說的變數名或者物件名,乙個變數或者物件在一定區域內 比如函式內 全域性等 只能定義一次 宣告 有兩重含義 1 告訴編譯器,這個名字已...