字串陣列用標頭檔案初始化,enum包含標頭檔案

2022-02-20 09:54:20 字數 1659 閱讀 1514

比較適用於大量引數的陣列,下標獲取值(提公升**效率)

兩個標頭檔案:

list.h :

//

list.h

"aaa",

"bbb",

"ccc

",

list2.h

//

list2.h

aaa,

bbb,

ccc,

初始化enum:

#ifndef ttt_h_

#define ttt_h_

enum

;#endif /* ttt_h_ */

main.c:

#include #include 

"ttt.h

"char *objectmnemonic =;

intmain()

gcc 版本 4.4.7 20120313 (red hat 4.4.7-4) (gcc)

console:

aaa = 0

nr_of_object_commands = 3

objectmnemonic = bbb

objectmnemonic = aaa              

疑問1:我把list.h 重新命名為list.c   標頭檔案也包含改為list.c 

不知道為什麼報錯:

gcc -o0 -g3 -wall -c -fmessage-length=0 -mmd -mp -mf"list.d" -mt"list.d" -o "list.o" "../list.c"

../list.c:2:1: error: expected identifier or 『(』 before string constant

"aaa",

^make: *** [list.o] error 1

疑問2: list2.h 改為 list2.c  也會報錯,不知道為什麼。

如下:gcc -o0 -g3 -wall -c -fmessage-length=0 -mmd -mp -mf"list2.d" -mt"list2.d" -o "list2.o" "../list2.c"

../list2.c:2:1: warning: data definition has no type or storage class [enabled by default]

aaa,

^../list2.c:2:1: warning: type defaults to 『int』 in declaration of 『aaa』 [-wimplicit-int]

../list2.c:3:1: warning: type defaults to 『int』 in declaration of 『bbb』 [-wimplicit-int]

bbb,

^../list2.c:4:1: warning: type defaults to 『int』 in declaration of 『ccc』 [-wimplicit-int]

ccc,

^../list2.c:4:1: error: expected identifier or 『(』 at end of input

make: *** [list2.o] error 1

歡迎交流,分享。

字串 用陣列初始化和用指標初始化方法

1 字串陣列初始化 1 用足夠的空間的陣列儲存字母串 const char example 40 so big it is.const表示不會更改這個字母串 還有這種 const char example 40 注意最後的空字元 0 沒有這個空字元,這就不是乙個字串,而是乙個字元陣列。2 讓編譯器確...

字串陣列初始化

1 char arr 10 hi 初始化字串陣列時,編譯器自動將字串最後乙個字元後面加上 0 以表示字串的結束。如果陣列的大小大於字串的長度 1,那麼把字串結束後面的元素也都初始化為 0 看這段程式 定義乙個大小為12的字串陣列 char str1 12 jiajia 讓乙個char型的指標指向這個...

字串 用陣列初始化和用指標初始化方法區別

const char ptr1 fine.const char ar fine.以上的宣告中,ptr1和ar都是該字串的位址,但這兩種形式並不完全相同。初始化陣列 字串儲存在靜態儲存區。但是,程式在開始執行時才會為該陣列分配內 存 以上面的宣告為例,陣列形式ar 在計算機的記憶體中分配為乙個內含6 ...