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語言這個函式執行結果為什麼是0,4,
c a a a b,b 4 最先執行的是 a,a變成1 然後執行的是 a a,a變成0 然後執行的是c a,c變成0 相當於不變 然後執行的是a b,a變成0 相當於不變 然後執行的是b 4,b變成4 所以最後結果是a 0,b 4,c 0 這是一個逗號表示式,逗號表示式的結果取決於最後一個表示式的結...
c語言求教。為什麼是這個答案。還有printf 中後面的a,b,z的意思是表示分別以整數輸出
考了x 與 x的不同,比如z x 是先z x再x 若是z x,就是先x 之後z x, z x 意味著先把x的值賦給z,然後x自己加1,等價於 z x x x 1 z x意味著先給x加1,然後再賦值給z,等價於 x x 1 z x 這個教科書裡都有啊,規則還是要清楚 運算子的順序忘記了。自己查下教科書...
C語言程式為什麼最後的輸出結果是這個
getchar接收的是 字元 putchar輸出的也是字元 它們不會接收和輸出整數!第一次c 2 執行case 0 後面的語句直到遇到break 所以輸出是 6 6 顯示就是66。第二次c 4 執行case 2 後面的語句直到遇到break 所以輸出是 8 顯示就是668。第三次c 7 執行defa...