共用方式為


C 型別規範中

在宣告的型別規範會定義變數或函式宣告的型別。

語法

  • 型別規範
    void

    char

    short

    int

    long

    float

    double

    帶正負號

    不帶正負號

    結構或位等位的規範

    列舉規範

    typedef 名稱

帶正負號的 char帶正負號的 int帶正負號的短 int,以及帶正負號的長 int 型別,一起他們unsigned對應項目和enum,稱為 「 整數 」 的型別。 浮點數,以及long double型別規範中稱為 「 浮動 」 或 「 浮點"型別。 您可以使用的任何整數或浮點數型別規範中的變數或函式的宣告。 如果型別規範中沒有提供的宣告中,它會被取為int。

選擇性關鍵字簽署和unsigned可以前後任何整數類資料型別,除非enum,也可以單獨使用,並為型別規範中,在此情況下它們會辨識為帶正負號的 int 和unsigned int,分別。 當單獨使用,關鍵字int會被假設為簽署。 使用單獨的關鍵字時為徹底瞭解長 int 和short int。

列舉型別會被視為基本的型別。 列舉型別的型別規範中討論列舉型別宣告

關鍵字void有三個用途: 若要指定函式的傳回型別,若要指定接受任何引數中,函式的引數型別清單,並指定變數的指標,未指定的型別。 您可以使用void型別宣告不傳回值的函式或宣告變數的指標,未指定的型別。 請參閱引數如void當它單獨出現在函式名稱後面的括號內。

Microsoft 專有的

現在符合 ANSI 標準,這表示該型別的型別檢查,是和型別int是不同的型別。 比方說,這是編譯器的 Microsoft C 編譯器已接受的先前版本中的重複定義。

int   myfunc();
short myfunc();

下一個範例也會產生對不同類型的間接取值的警告:

int *pi;
short *ps;

ps = pi;  /* Now generates warning */

Microsoft c 編譯器也會產生警告的正負號的差異。 例如:

signed int *pi;
unsigned int *pu

pi = pu;  /* Now generates warning */

型別void的副作用的運算式都會經過評估。 您無法使用 (不存在) 的值,具有型別的運算式的void轉換任何的方式,也可以在void運算式 (隱含或明確的轉換) 以外的任何型別的void。 如果您使用任何其他型別的運算式內容中, void運算式時,它的值會捨棄。

若要符合 ANSI 規格, void 貴不能做為 int 貴。 只有 void * 可以當做未指定型別的指標。

結束 Microsoft 特定

您可以建立其他的型別規範中的typedef宣告,如所述 Typedef 宣告。 請參閱基本型別儲存如有關每個型別的大小。

請參閱

概念

宣告和型別