English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

string的array是如何設定及表達?include 是否需要?還是有其他?之後我寫String name[];,為什麼會undeclared identifier?

2006-11-16 14:59:41 · 4 個解答 · 發問者 匿名 7 in 電腦與網際網路 程式設計

4 個解答

C string 是以 '\0' 為結尾的字元陣列,通常會這樣子寫
char *str = "This is a C string";
或是
char str[] = "This is a C string";
上面的例子雖然字串有 18個字元(包含空白)但實際上它要佔 19個字元的空間,C string 最後要有 '\0' , 因此如果這樣寫 char str[18] = "This is a C string";
表面上看起來沒什麼問題, 編譯器也不會有錯誤...不過當你對這個 str 操作時通常都不是我們要的結果.

C 的 string.h 裡面大多是一些操作字串的 function , 字串比較 ,copy,字串長度之類的.要宣告 C string 其實不用 #include , 所以 String name[]; 編譯器會給你一個錯誤.

不過可以這樣子寫:

typedef char* string; // 要用 String 也行, 高興就好

然後就可以這樣子用

string str = "This is a C string";

字串陣列的話
string stra[] = { "This","is","C","string","Array" };
//寫 char * stra[] 或 char **stra 這樣來用也可以... 只是看起來一堆 * 可能有點嚇人

這樣 stra[0] 就是 "This" , stra[1] 是 "is" ...以此類推..

2006-11-16 16:13:37 · answer #1 · answered by 鳳琳 5 · 0 0

c 沒有support class

2006-11-17 04:38:26 · answer #2 · answered by SiYu 5 · 0 0

String 是個 class

2006-11-16 16:44:41 · answer #3 · answered by 過路人 4 · 0 0

#include string name[];  // 通常 string name; 就夠, 不用[]        // 另外,s 是小寫

2006-11-17 21:42:31 補充:
回應心冷:
 說的也八(誰說只能也ㄕˋ)
 被後面的內容騙了!
 標題問的是 C !
 那,我只好〝嘻〞了!

2006-11-16 16:09:22 · answer #4 · answered by ? 7 · 0 0

fedest.com, questions and answers