1. 程式人生 > >*字符數組*

*字符數組*

改變 love 數組 指針 但是 pan 區別 空間 指向

字符數組與字符指針變量的區別:

char *a;
a = "I love China!"; //這是合法的,將I love China!的首字母首地址賦值給指針變量a

然而:

char str[50];
str = "I love China!"; //這是非法的,不太容易想

以下也是錯誤的:

char *a; 
scanf ("%s", a); //非法的,企圖從鍵盤輸入一個字符串並使a指向它, 這是容易理解的,也未開辟空間存放它

只有這樣才是正確的:

char *a, str[10];
a = str;
scanf ("%s", a); //從鍵盤輸入字符串存放到a指向的一段內存中

字符數組中各元素的值是可以改變的,可以再對其賦值,但是字符指針指向的字符串常量的值是不能改變的,因為字符串常量存放在文字常量區,不能被更改。

*字符數組*