1樓:匿名使用者
一般來說,應該是prism2_set_encryption這些都是常量。實際就是給一系列存在某種關聯的常量賦值的過程不過最好還是加個enum名最好,不然就不如想上面說的那樣直接define定義了
2樓:匿名使用者
無名列舉應該在定義時定義變數,不然無法引用定義的無名列舉型別了。如enum prism2;
雖然沒錯,但是可讀性較低,該列舉該為以下巨集定義更好#define prism2_set_encryption 6#define prism2_hostapd_set_generic_element 12
#define prism2_hostapd_mlme 13#define prism2_hostapd_scan_req 14
3樓:匿名使用者
這樣定義的enum,意思是僅給出了一組常量的定義!
~~~~~~~~
然後在程式中就可以直接使用這些常量符號了,可以賦值、比較判定、用於返回值等等。。。
4樓:
沒有變數也一樣使用。
其實列舉只是定義了一連串的變數的值,如果值連續,你只需要給其中一個賦值就可以了,其他的不用管。有沒有列舉名稱無所謂的,在c語言中。
5樓:匿名使用者
匿名列舉,相當於定義了一系列常量
6樓:
正好也讀到了類似的**,按我理解是這樣的。
沒有名字的enum和用define的作用類似,都是定義一組常量。
但是enum的成員可以作為整形常量使用的,而define是預處理的時候直接字元替換。
假設定義一個函式func(int val)。那麼在採取無名enum定義時可以這樣呼叫函式func(prism2_set_encryption),但是如果採用define方式定義那就不行了。這在定義需要接受一組預定義引數的函式的時候可能比較有用。
c語言列舉型別怎麼用?
7樓:匿名使用者
列舉型別定義時,定義的是可以列舉的常量,常量符號的值在定義列舉時已經初始化完成。
有沒有列舉變數都不影響已經存在的可列舉常量,定義列舉變數將來也是要賦值某一列舉常量的。
比如:weektypedef day=monday;
8樓:童之新
列舉啊,就相當於一個巨集定義,與#define monday 0等效,而且在列舉裡可以輕鬆修改資料,比巨集定義操作更為方便,假如你巨集定義一堆的變數,分別從1到100分配,那麼你在列舉裡只要把第一個變數賦值為1,後面的變數自動加1排序了,有100個,那麼第100個的值就為100了,而且中間你可以改變某個變數的值,那麼那個變數以下的值又會跟著這個值重新自增排列
9樓:自我程式設計
typedef只是給列舉型別起個別名,在圖中**根本沒用處。
你圖中的**,是直接使用了列舉成員,列舉成員就是常量,直接使用常量沒問題。
列舉型是集合,集合中的元素(列舉成員)是一些命名的整型常量,相當於多個#define語句(只不過列舉成員對應的數值可自增)
這個成員常量不同於結構成員變數名,是唯一的,你可以試試再定義一個列舉型別比如:
typedef enum
weektypedef2;
這樣會報錯,因為你之前定義的列舉型別中已經有同名成員了。換個名字就可以了,比如:
typedef enum
weektypedef2;
10樓:枝陽飇
列舉型別的作用要相對小一些,它其實就是個int型別,但對程式的可讀性貢獻很大。
至於“結構體有什麼用”,這絕對是個新手問題——因為結構體簡直無所不用!簡單的說,函式體現演算法,而結構體則體現資料結構——演算法、資料結構恰是程式設計的核心。無論你想用連結串列、佇列、棧、樹等資料結構,還是為了方便而把多個資料成員結合在一起(比如,你要儲存考生資訊,就可以設計一個結構,裡面包含姓名、考號、分數等資料成員),都要用到結構體。
建議樓主去看看別人寫的程式(比如linux核心,tcp/ip實現),你會發現裡面到處都是結構。
c語言的enum中的列舉名有什麼用?
11樓:匿名使用者
1enum是列舉型別,與整型、浮點型、字元型等都屬於原子
型別。2用法示例,版常用switch語句搭配使用#includeenum direction;int main()getchar();return 0;}3執行權結果
12樓:匿名使用者
限定一些可能的值而已,而它們的值可以自動增長,其他沒什麼特別的
更多情況下還是用 #define
有關c語言中的列舉enum使用
13樓:高金山
#include
enum
;main()}
14樓:
#include "stdio.h"
enum ;
int main()
return 0;}
15樓:匿名使用者
列舉常量中,每個識別符號對應的應該是一個整型值。所以a,b,c,d未免困難,不過可以定為整型值啊
enum depa;
這樣企劃部等於1,財務部等於2,以此類推
c語言中 ,列舉型別enum 的列舉值,可以是什麼型別的值? 一定是 int型嗎
16樓:匿名使用者
列舉宣告可以顯式地宣告 byte、sbyte、short、ushort、int、uint、long 或 ulong 型別作為對應的基礎型別。沒有顯式地宣告基礎型別的列舉宣告意味著所對應的基礎型別是 int
17樓:我不知道也不說
列舉就是個有符號的整形。
所以char,short,int 都可以。
如果enum長度可以在你機器上達到4,都可以存放指標。看你機器了。
c語言中的列舉型什麼意思,C語言中的列舉型別有什麼用麼?
樊德文字鳥 就是你宣告的這個列舉變數的值,只能取其中的東西,比如 enum weekday 那weekday這個變臉的值只能是 中的值。他們分別對應數字0,1,2,3,4,因為列舉型變數也是整型 就是你變數的值只能是你定義的列舉型中定義的數值。比如enum name 你name a的值只能為中的一個...
這個c語言為什麼break是錯的
for i n i 1 i 這句話後面是有分號的,也就是說break根本就不在迴圈內。我的c語言有誤,請問為什麼是illegal break? 風若遠去何人留 illegal break是指在編譯時,發現了非法的break語句。break有兩種用途 1 用於迴圈體內,包括for,while,do w...
c語言為什麼輸出這個,c語言輸出值為1 R怎麼回事
您好,這個問題是這樣的。請您注意看 byte 是8位,所以可以表示 2 的8次方 256 個資料。取值範圍是 128 到 127 int 則不確定了。在 16 位的系統或編譯器上,可以表示 2 的 16 次方個資料。取值範圍大概是這個數除以 2 從負數到正數。在 32 位的系統或編譯器上,可以表示 ...