C語言void 的使用

2021-10-05 10:35:14 字數 688 閱讀 3034

在c語言中,*即為指標型別,常用的有int *pchar*q,指標的記憶體大小與他們的型別有關,不同型別的指標有著不同的大小,如上述兩個指標,sizeof(*p) = 4,sizeof(*q) = 1

void *為不確定型別指標,而當我們void *h時,此時的sizeof(*h)是沒有大小的,即定義了void *型別後,指標的記憶體大小未定。

你能設計乙個接受不論什麼型別的引數並返回interger (整數)結果的函式嗎?

借這個問題來說如何使用

int

fuc(

void

*ptr)

return

(int

)*ptr;

在輸入指標型別引數時,不需要進行強制型別轉換,void *常用在函式引數函式返回值中需要相容不同指標型別的地方,我們可以將別的型別的指標無需強制型別轉換的賦值給void *,只需要在返回時強制型別轉換為我們需要的指標型別,根據自己而定。

C語言 void和void 的區別

在c語言中void 常用於2個方面 對函式返回型別的限定和對函式引數限定。1 對函式返回型別的限定 當函式不需要返回型別是必須用void 來限定返回型別,限定了函式的返回型別為void後,函式不能有返回值。如 void fun int a 2 對函式引數型別的限定 當函式不允許接受引數時,必須用vo...

C語言 當void遇到 void

void 表示無 任意型別指標,大小為8b,任何型別指標均為8b 舉個例子 char a calloc 8,5 分配5個連續8位元組記憶體空間 int b calloc 8,5 分配5個連續8位元組記憶體空間 結果使用char型別接收,每個char占用乙個位元組,因為分配的空間總共有40位元組,所以...

void在C語言中特殊使用

在c語言中,在定義函式時,加在函式名前的 void 表示該函式沒有返回值,呼叫時直接書寫函式名和引數即可。但是有些函式明明在定義的時候不是void型,卻在呼叫時可能會在前面加上void,這表示程式並不關心呼叫該函式後的返回值是什麼,即告訴靜態 檢測工具不要去處理此處該函式的返回值。比如函式strcp...