我知道,在C字符串賦值必須經過char array [] =「string」的底層機制是什麼?
char string[4];
strcpy(string, "aaa");
但爲什麼以及如何ç允許
char string[] = "string";
?
在此先感謝
我知道,在C字符串賦值必須經過char array [] =「string」的底層機制是什麼?
char string[4];
strcpy(string, "aaa");
但爲什麼以及如何ç允許
char string[] = "string";
?
在此先感謝
char string[] = "string";
這裏,string
的權長度,以便有足夠的空間用於字符串和NUL字符由編譯器自動計算。
char string[4];
strcpy(string, "aaa");
這裏strcpy
可以訪問超出數組邊界如果字符串是比實際string
容量。
C從來沒有(也永遠不會?)本地的字符串類型。以'\ 0'結尾的字符序列被認爲是一個字符串。 – sjsam
http://stackoverflow.com/questions/1704407/what-is-the-difference-between-char-s-and-char-s-in-c –
@ P.P。不完全一樣 - 這是'char string [4]'和'char string []'之間的區別,而另一個在'char string []'和'char * string'之間。 – skyking