1.enum關鍵字
C語言中enum關鍵字用來定義枚舉類型
(1)enum 是 C 語言中的一種自定義類型
(2)enum 值是可以根據需要自定義的的整型值
(3)第一個定義的 enum 值默認為 0
(4)默認情況下的 enum 值是在前一個定義值的基礎上加 1
(5)enum 類型的變量只能取定義時的離散值
enum Color { GREEN, //默認 GREEN==0; RED= 2, //自定義 RED==2; BLUE //默認情況,是在前一個的基礎上加 1,即 BLUE==3 }; enumColor c =GREEN;//定義 c 變量,並初始化為 GREEN printf("%d\n",c);
enum 中定義的值是 C 語言中真正意義上的常量 。在工程中 enum 多用於定義整型常量
#include <stdio.h> enum //無名枚舉,用於定義常量 { ARRAY_SIZE = 10 //定義數組大小,ARRAY_SIZE 是常量,運行時無 法改變 }; enum Color { RED = 0x00FF0000, GREEN = 0x0000FF00, BLUE = 0x000000FF //注意,后面沒分號 }; //打印,參數為枚舉類型 void PrintColor(enum Color c) { switch( c ) { case RED: printf("Color: RED (0x%08X)\n", c); break; case GREEN: printf("Color: GREEN (0x%08X)\n", c); break; case BLUE: printf("Color: BLUE(0x%08X)\n", c); break; } } //初始化數據 void InitArray(int array[]) { int i = 0; for(i=0; i<ARRAY_SIZE; i++) { array[i] = i + 1; } } void PrintArray(int array[]) { int i = 0;for(i=0; i<ARRAY_SIZE; i++) { printf("%d\n", array[i]); } } int main() { enum Color c = GREEN; //定義變量 c 並初始化為 GREEN int array[ARRAY_SIZE] = {0}; PrintColor(c); InitArray(array); PrintArray(array); return 0; }
2.C語言中的sizeof關鍵字
(1)sizeof 是編譯器的內置指示符
(2)sizeof 用於計算類型或變量所占的內存大小
(3)sizeof 的值在編譯期就己經確定,在編譯過程中所有的 sizeof 將被具體的數值所替換 ,程序的執行過程與 sizeof 沒有任何關系 。
#include <stdio.h> int f() { printf("I like programming!\n"); return 0; } int main() { int var = 0; int size = sizeof(var++); //該行在編譯期被替換為 int size =4; //所以運行時,不存在 var++之類的代碼了 printf("var = %d, size = %d\n", var, size); size = sizeof(f()); //該行在編譯期被替換為 size = sizeof(函數的返回值類型) =4; //即最終代碼沒有 f()函數的調用,也就不會輸出 f()里面的 printf printf("size = %d\n", size); return 0; }
參考資料:
www.dt4sw.com
http://www.cnblogs.com/5iedu/category/804081.html
