[問題] 使用typedef範例&使用enum

看板C_and_CPP (C/C++)作者 (kswiss)時間14年前 (2011/08/20 21:34), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
開發平台: Visual Studio 2010 Q1: MyColor已是列舉宣告的變數,為什麼MyColor這個變數還可宣告另一個變數叫background??? Q2: background的資料型態是??? #include <stdio.h> typedef enum Color { BLACK =1 , WHITE , RED , GREEN } MyColor ; int main () { int x = 0; MyColor background; printf ( "\n\n" ); printf ( " %d \n %d \n %d \n %d \n", BLACK , WHITE, RED, GREEN ); printf ( "\n\n\n\n" ); background = BLACK; switch ( background ) { case BLACK : printf ( "黑 \n" ); break; case WHITE: printf ( "白 \n" ); break; case RED: printf ( "紅 \n" ); break; } printf ( "\n\n\n\n\n\n\n" ); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.191.241

08/20 21:59, , 1F
A1: MyColor並不是變數,它是一個Type
08/20 21:59, 1F

08/20 21:59, , 2F
A2: background的資料型態就是MyColor, 或enum Color
08/20 21:59, 2F

08/21 02:32, , 3F
實作列舉值的型態有可能比int還大, 所以用%d是危險的
08/21 02:32, 3F
文章代碼(AID): #1EJxV80C (C_and_CPP)
文章代碼(AID): #1EJxV80C (C_and_CPP)