c語言的列舉(遍歷列舉)與資料型別總結

2022-10-10 23:18:21 字數 2256 閱讀 3247

一、列舉的概念

列舉是c語言中的一種基本資料型別,並不是構造型別,它可以用於宣告一組常數。當乙個變數有幾個固定的可能取值時,可以將這個變數定義為列舉型別。

比如,你可以用乙個列舉型別的變數來表示季節,因為季節只有4種可能的取值:春天、夏天、秋天、冬天。

一般形式為:enum 列舉名 ;

1enum season ;

前面只是定義了列舉型別,接下來就可以利用定義好的列舉型別定義變數,跟結構體一樣,有3種方式定義列舉變數

1

enum

season ;23

enum season s;

上面三種方式定義的都是列舉變數s

1> c語言編譯器會將列舉元素(spring、summer等)作為整型常量處理,稱為列舉常量。

2> 列舉元素的值取決於定義時各列舉元素排列的先後順序。預設情況下,第乙個列舉元素的值為0,第二個為1,依次順序加1。

1 #include 2

3int

main()4;

1314

//2.定義列舉變數

15enum season s =winter;

1617

18 printf("

%d\n

", s);

1920

21return0;

22 }

列印結果為:3

也就是說spring的值為0,summer的值為1,autumn的值為2,winter的值為3

3> 也可以在定義列舉型別時改變列舉元素的值

1 #include 2

3int

main()4;

1314

//2.定義列舉變數

15enum season s =winter;

1617

18 printf("

%d\n

", s);

1920

21return0;

22 }

列印結果為:4

沒有指定值的列舉元素,其值為前一元素加1。

可以給列舉變數賦列舉常量或者整型值

1 #include 2

3int

main()

4 s;78

//2.定義列舉變數

9 s = spring; //

等價於 s = 0;

10 printf("

%d\n

", s);

1112 s = winter;//

等價於s = 3;

13 printf("

%d\n

", s);

1415

return0;

16 }

列印結果   0

enum season  s;

// 遍歷列舉元素

for (s = spring; s <= winter; s++)

輸出結果:   列舉元素:0 

列舉元素:1 

列舉元素:2 

列舉元素:3

資料型別總結

一、基本資料型別

1.int

1> long int、long:8個位元組  %ld

2> short int、short:2個位元組 %d %i

3> unsigned int、unsigned:4個位元組 %zd 

4> signed int、signed、int:4個位元組 %d %i

2.float\double

1> float :4個位元組 %f

2> double:8個位元組 %f

3.char

1> 1個位元組 %c %d

2> char型別儲存在記憶體中的是它的ascii值

'a' --> 65

二、構造型別

1.陣列

1> 只能由同一種型別的資料組成

2> 定義:資料型別 陣列名[元素個數];

2.結構體

1> 可以由不同型別的資料組成

2> 先定義型別,再利用型別定義變數

三、指標型別

1.變數的定義

int *p;

2.間接操作變數的值

int a = 10;

p = &a;

*p = 20;

四、列舉型別

使用場合:當乙個變數只允許有幾個固定取值時

列舉資料型別C

列舉資料型別是一種由程式設計師定義的資料型別。其合法值時與它們關聯的一組命名整數常量。它之所以被稱為列舉型別,是因為命名常量是作為資料型別定義的一部分而列舉或列出的。以下是列舉型別宣告的示例 enum roster 該語句將建立乙個名為roster的資料型別。因為enum是c 關鍵字,所以它必須小寫...

C語言拾遺 C語言資料型別 列舉型別

摘要 變數的三個基本屬性為 作用域 鏈結屬性和儲存型別。這三個屬性決定變數的可視性和生命期。在c語言中,僅有4種基本資料型別 整型 浮點型 指標和聚合型別 如 陣列和結構體 所有其他的型別都是從這4種基本型別的某種組合派生而來。列舉是 c 語言中的一種基本資料型別,它可以讓資料更簡潔,更易讀。宣告為...

C語言列舉型別

在實際問題中,有些變數的取值被限定在乙個有限的範圍內。例如,乙個星期內只有七天,一年只有十二個月,乙個班每週有六門課程等等。如果把這些量說明為整型,字元型或其它型別顯然是不妥當的。為此,語言提供了一種稱為 列舉 的型別。在 列舉 型別的定義中列舉出所有可能的取值,被說明為該 列舉 型別的變數取值不能...