天天看點

C語言關鍵字 筆記Unionenum

  • 關鍵字

C語言共有32個關鍵詞

C語言關鍵字 筆記Unionenum
C語言關鍵字 筆記Unionenum

了解關鍵字之前先區分聲明和下定義的差別

下定義:編譯器建立一個對象,并且為這個對象配置設定一塊記憶體,且賦予它名字。

聲明:1、告訴編譯器這個變量已經在别的地方配置設定了;

2、告訴編譯器,這名字我先預定了,其它地方不能再那這個名字去為對象命名。

定義也是聲明:定義配置設定了記憶體空間,而聲明沒有。

Register

       關鍵字要求編譯器經可能将變量存儲在CPU内部寄存器中,而不是通過尋址方式通路以提高效率,但是這裡隻是盡可能,不是絕對。

static

1、修飾變量

       靜态局部變量,一旦定義就隻能在目前的檔案中使用該變量/函數,由于被static修飾的變量是存儲在靜态存儲區,是以就算函數運作完了,改變量中的值也不會被銷毀,仍保持上一次的值。

2、修飾函數

       被其修飾的函數的作用于将被限定于本檔案。

sizeof

       是關鍵字而不是函數,

       int  I;

siezof  i;結果為4,是以足夠證明sizeof是關鍵字而不是函數,函數是需要加括号去證明。 

unsigned     signed

在計算機系統中,數值一律用補碼來表示(存儲)。主要原因是使用補碼,可以将符号位和其他位統一處理;同時,減法也可按加法來處理。另外,兩個用補碼表示的數相加時,如果最高位(符号位)有進位,則進位被舍棄。整數的補碼與其原碼一緻;負數的補碼;符号為1,其餘為為該絕對值的原碼按位取反,然後整個數加1 。

unsigned int j = 10;

int i = -20;

i+j = ?

j的補碼是 01010,i的補碼是 101100;

i+j = 110110,再一次進行補碼運算得到101010,即-10;

void

void 真正發揮的作用在于:

(1)對函數傳回的限定;

(2)對函數參數的限定。

在C語言中,凡不加傳回值類型限定的函數,就會被編譯器作為傳回整型值處理。

return

return語句不可傳回值指向“棧記憶體”的“指針”。因為該記憶體在函數結束時被自動銷毀。

C語言關鍵字 筆記Unionenum

Union

         Union維護足夠多的空間來放置多個資料成員中的“一種“,而不是為每一個資料成岩配置一個空間,在union中所有的資料成員公用一個空間,同一時間隻能儲存其中一個資料成員,所有的資料成員具有相同的起始位址,union對任何變量的存取都是從union的首位址開始。

可用來測試電腦對于位元組的存儲方式。

enum

         enum變量類型可以給其中常量符号指派,如果不指派則會從那個被賦初值的那個常量開始依次加1,如果都沒有指派,它們的值從0開始一次遞增1,如分别用一個常熟表示不同顔色

enum Color

{

         GREEN=1;

         RED;

         BLUE;

         GREEN_RED=10;

         GREEN_BLUE;

}ColorVal;

其中各常量代表的數值分别為

         GREEN=1;

         RED=2;

         BLUE=3;

         GREEN_RED=10;

         GREEN_BLUE=11;

繼續閱讀