void和void*的用法
阿新 • • 發佈:2018-11-10
1、void的作用
c語言中,void為“不確定型別”,不可以用void來宣告變數。如:void a = 10;如果出現這樣語句編譯器會報錯:variable or field ‘a’ declared void。
在C語言中void 常常用於:對函式返回型別的限定和對函式引數限定
(1)對函式返回型別的限定:當函式不需要返回型別是必須用void 來限定返回型別,限定了函式的返回型別為void後函式不能有返回值;如:void fun(int a);
(2)對函式引數型別的限定:當函式不允許接受引數時必須用void 來限定函式引數,限定了函式的引數型別為void後函式不能有引數;如:int fun(void);
2、void * 的作用
C語言中void * 為 “不確定型別指標”,void *可以用來宣告指標。如:void * a;
(1)void *可以接受任何型別的賦值:
void *a = NULL;
int * b = NULL;
a = b;//a是void * 型指標,任何型別的指標都可以直接賦值給它,無需進行強制型別轉換
我們可以認為void就是一張白紙可以在上班寫任何型別的數值。
(2)void *可以賦值給任何型別的變數 但是需要進行強制轉換:
例:
int * a = NULL ;
void * b ;
a = (int *)b;