1. 程式人生 > >void和void*的用法

void和void*的用法

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;