c語言我是初學者,C語言 我是初學者

時間 2022-04-22 07:24:44

1樓:天地間一小卒

c語言規定,在定義列舉型時,可以給列舉常量賦初值,方法是在列舉常量的後面跟上「=整型常量」。例如,表示三原色的列舉型可以定義如下:

enum colorl

;則列舉常量,red的值為2,yellow的值為4,blue的值為7。

1、給變數或陣列元素賦值,格式為:列舉型變數或陣列元素=同一種列舉型常量名

c語言規定,雖然列舉常量值是0或自然數,但是不能直接將整型常量賦予列舉型變數或陣列元素。但是可以通過型別強制轉換來賦值,請看下面的程式段。

enum color

c_l;

cl=yellow; /*正確,將值為1的列舉常量yellow賦予列舉型變數c_1*/

c_l=1; /*錯誤,不能直接將整型常量賦予列舉型變數*/

c_l=(enum color)l; /*正確,先將l強制轉換成列舉型常量yellow再賦值*/

重要說明:有少數的c編譯系統允許將整型常量直接賦予列舉型變數,例如turho c。所以使用turbo c編譯系統編譯上述程式,其中的語句「c_1=l;」並不會出錯。

2、列舉型別倒倒多和巨集定義比較、巨集和列舉的主要區別是作用的時間和儲存形式不同。巨集定義是在編譯預處理階段作用的,也就是在編譯預處理時,就會進行巨集替換,將程式中的所有巨集名替換為所定義的常量名,而列舉則是在程式執行之後才起作用的。巨集定義不分配記憶體空間,而列舉常量儲存在資料的靜態儲存區中(這一點一定要注意)。

巨集只占用**段的空間,而列舉除了占用**段空間外,還耗費cpu資源。

2樓:匿名使用者

可以,但只能是在變數宣告的賦值格式中存在,程式中不可。如果你不賦值,編譯系統會自動按照0,1,2,...順序分配整數,你賦值後,之後的變數仍然會順序遞增,比如:

enum myselect;

C語言初學者問題,C語言初學者問題

參考 如下 include int sum int a,int n int main include int sum int a,int n int main include int sum int n1,int n2,int n3,int n4 void main 首先你寫的就有點問題,給你解釋下...

c語言程式設計問題(初學者),C語言程式設計問題(初學者)

1 輸出字元型,並且希望顯示為字元,就用c,如果希望顯示的是數字,則用d,他們的對應關係可以檢視ascii表,2 int和char的大小不同,char 只1個位元組,int為4個位元組,也就是char 只有256個字元,而int則有2的32次方個數。表示的範圍是不同的 3 a和101的關係可以檢視a...

C語言初學者看什麼書 C語言初學者適合看什麼書

根據我最初學習 c 語言的體會就是 首先購買一本難度適合自己的教材。當然了,至於說哪一本書適合自己,這個因人而異,沒有一定之規,需要自己去書店仔細閱讀,然後確定下來哪一本書籍難度適合自己。然後就是必須在電腦上安裝乙個 c 編譯器 例如 windows 系統下面的 microsoft visual c...

c語言初學求指教,C語言初學者,求大神指教

219的意思其實是輸出乙個字元。按字元形式輸出擴充套件ascii表中的第219字元,在不同語言的作業系統下輸不一樣。第乙個呢,其實是兩個for迴圈,來列印乙個矩形的形式,這樣的話就可以保證每個點都可以使用程式控制到 include stdio.h main 第二個呢 我大概意思是要輸出1 9乘9的結...

C語言初學者qsort排序

給你個歸併 include void m sort int a int p int r void m sort sort int a,int p,int q,int r void main m sort a,0,7 for i 0 i 8 i printf d a i void m sort sor...