C C 字串常量 字元陣列和字元指標

2021-10-03 16:42:44 字數 500 閱讀 1824

通常,如果在程式中定義了乙個字串,那麼為了節省記憶體,會把相同的字串儲存到乙個單獨的、相同的位置,此時如果用多個字元指標指向它,那麼指標的值會相同。常量字串位於c/c++的文字常量區,在程式結束以後由系統釋放。

char

* p_string1 =

"example";

char

* p_string2 =

"example";

p_string1==p_string2;

//返回true

與字元指標不同,如果宣告多個字元陣列,並且初值相同,那麼實際上她們的位址是不同的,也就是說實際的分配了記憶體,並將字串常量複製到分配的位址;

char string1=

"example";

char string2=

"example";

string1==string2;

//返回false;

C C 字元陣列 字元指標和字串常量

c 有兩種處理字串的方式,除了沿用c風格字串,另一種方法是借助用string class庫。字串是一系列儲存在連續記憶體位元組中的字元 每個字元對應乙個位元組 所以可以將字串儲存在字元陣列中。以下四種宣告方式都是字元陣列,但是只有第乙個不是字串,其中無效字元 null character 0 其在機...

字串常量和字元陣列

1.字串常量 char cstringa hello word 並不建議這樣寫 const char cstringb hello word 建議寫成這樣 cstringa a 執行時出錯,字串常量不允許修改 實際上,c語言中的標準,對於字串常量必須要賦值給const char 的變數,這樣就可以理...

字串常量和字元陣列

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