1. 在函式getmem棧內定義個陣列,將位址return給main函式的指標str
eg:char p = 「hello world」;
char *getmemory(void)
char p =「hello world」;
return p;
void test(void)
char *str =null;
str = getmemory();
printf(str);
str內容不一定,因為當函式getmemory執行完畢,棧內變數銷毀。「hello world」字串屬於棧內內容,如果將char *p = 「hello world」,可以列印出hello world
2. 字元陣列和字元指標的賦值
1.字元陣列只能在定義的時候賦值
char arr=或者「hello」;
2.字串指標可以先定義後賦值
char *str;
str = 「hello」;
或者char *str = 「hello」;
字元陣列和字元指標
字元陣列是一段記憶體空間 字元指標是乙個位址,指向一串字元。char str abcd char str abcd 字元陣列是一段記憶體空間 字元指標是乙個位址,指向一串字元 char str abcd char str abcd 上面這兩跳複製語句很相似,其實根本就不是一碼事。對於兩個 abcd ...
字元指標和字元陣列
1.字元指標可以指向乙個字串。我們可以用字串常量對字元指標進行初始化。例如,有說明語句 char str this is a string.是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首位址,即指向字串的首位址。這裡要注意字元指標與字元陣列之間的區別。例如,有說明語句 char st...
字元指標和字元陣列
所有的字串常量都被放在全域性區的靜態儲存區 這歌筆記只為說明乙個問題 char str1 abcd char str2 abcd const char str3 abcd 被const修飾的陣列,如果是區域性變數是存放在棧上的唯讀陣列,不能修改 const char str4 abcd const ...