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

2021-09-24 12:07:25 字數 1304 閱讀 5656

摘要:變數的三個基本屬性為--作用域、鏈結屬性和儲存型別。這三個屬性決定變數的可視性和生命期。在c語言中,僅有4種基本資料型別--整型、浮點型、指標和聚合型別(如:陣列和結構體)。所有其他的型別都是從這4種基本型別的某種組合派生而來。

列舉是 c 語言中的一種基本資料型別,它可以讓資料更簡潔,更易讀。宣告為列舉型的變數實際上為整數型別。

列舉語法定義格式為:

enum 列舉名 ;
在某些場合中,我們發現,一些變數的可能取值範圍只是若干個定義明確的選項,這時我們使用列舉變數會更加方便。我們舉個例子,比如:一星期有 7 天,如果不用列舉,我們需要使用 #define 來為每個整數定義乙個別名:

#define mon 1 

#define tue 2

#define wed 3

#define thu 4

#define fri 5

#define sat 6

#define sun 7

這個看起來**量就比較多,接下來我們看看使用列舉的方式:

enum day

;

這樣看起來是不是更簡潔了。

注意:第乙個列舉成員的預設值為整型的 0,後續列舉成員的值在前乙個成員上加 1。我們在這個例項中把第乙個列舉成員的值定義為 1,第二個就為 2,以此類推。

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

enum season ;
沒有指定值的列舉元素,其值為前一元素加 1。也就說 spring 的值為 0,summer 的值為 3,autumn 的值為 4,winter 的值為 5

前面我們只是宣告了列舉型別,接下來我們看看如何定義列舉變數。

我們可以通過以下三種方式來定義列舉變數

1.先定義列舉型別,再定義列舉變數

enum day

;enum day day;

2.定義列舉型別的同時定義列舉變數

enum day

day;

3.省略列舉名稱,直接定義列舉變數

enum

day;

gb/t 15272-1994 (6.5.2.2)

C語言拾遺 C語言資料型別 共用體

摘要 我們知道結構體 struct 是一種構造型別或複雜型別,它可以包含多個型別不同的成員。在c語言中,還有另外一種和結構體非常類似的語法,叫做共用體 union 共用體 union 有時也被稱為聯合或者聯合體,這也是 union 這個單詞的本意。結構體和共用體的區別在於 結構體的各個成員會占用不同...

C語言拾遺

main函式引數 c語言規定main函式引數只能有兩個,習慣上這兩個引數寫成argc和argv。c語言還規定argc必須是整形變數,argv必須是指向字串的指標陣列。因此,main函式的函式頭應該寫為 main argc,argv int argc char argv 或者 main int arg...

C語言拾遺

保證某些全域性變數的常量性 c c 中不能通過變數來定義陣列 const int row 10 const int col 10 c define row 10 define col 10orenum c style型別轉換 new type expression static cast expre...