字串常量和字元陣列

2021-06-20 18:08:19 字數 527 閱讀 9846

1.字串常量:

char *cstringa="hello word";              //並不建議這樣寫

const  char *cstringb="hello word";    //建議寫成這樣    

*cstringa='a';              /執行時出錯,字串常量不允許修改

實際上,c語言中的標準,對於字串常量必須要賦值給const char *的變數,這樣就可以理解了字串常量為什麼不允許被修改了。。。指標所指向的是唯讀常量,但允許修改所指向的位址,也就是其他的常量。。。

2.字元陣列:

char stringa="hello,word";

char stringb="hello,word";

*stringa='a';              ///stringa和stringb為兩個完全的陣列變數,改變其中乙個的值,對另乙個並不影響;

printf("%s\n",stringb);

若要修改其字串的值,最好用字元指標。。。

字串常量和字元陣列

一.字串都是以 0 結尾 二.凡是雙引號中的內容,皆是字串。也就是,雙引號會在它內容後自動加乙個 0 且佔乙個位元組數。三.單引號中容納的是char型別的字元常量,且僅能容納乙個 四.字元陣列中不指定長度,系統會自動匹配適應的長度。五.如果對字元陣列沒有初始化完全,系統會在未賦值的地方新增 0 ch...

字串常量與字串陣列

1 對於 字串,必以 0 結尾,如果是雙引號會在它所包含內容後面自動加乙個 0 且會佔據位元組數。2 字元陣列中若不指定長度,系統會自動分配 char str1 abcde 1,字串常量 char str2 abcde 2,字元陣列,在分配位元組時會在最後加上 0 3 字串 常量的值 不能被修改 因...

字元陣列,字元指標,字串常量

一 字串可以賦值給字元指標變數 char p hello 其實這裡分配了常量,即const,如果不讓p指向別的位址就無法修改。char q world cout p q 1.字串常量 hello 出現在乙個表示式中時,hello 表示式使用的值就是這些字元所儲存的位址 在常量區 而不是這些字元本身。...