C語言 字串的初始化辨析

2021-06-28 11:42:18 字數 587 閱讀 4044

以下是常用的四種字串初始化方法:

(一)char str[10] = "hello";

結尾會被編譯器自動加上結尾符'/0',編譯的時候可以看到它最後是'',asc碼值是0;

"hello"只有5個字元,加上編譯器自動新增的'/0'

,也就是會初始化陣列的前6個元素,剩下有元素會被全部初始化為'/0',這個要注意哦

(二)char str = "hello";

編譯器自動為後面的字串分配大小並加'/0'

(三)char str = ;

編譯器會根據字串大小分配空間,可是不會自動分配'/0',所以結尾的時候要自己加上'/0'

(四)char *str = "hello";

把指向字串的指標給定義好的字元指標

有些高人可能都不用上以這些,可能還會有效率高又離奇的方法,多多交流啊~~~

還有乙個問題寫下來提醒自己:

(一)char *str;

str  = "hello";

(二)char str1 = "hello";

(三)char *str2;

str2 = new char[10];

c語言字串初始化 C 字串

c 提供了以下兩種型別的字串表示形式 c 風格的字串起源於 c 語言,並在 c 中繼續得到支援。字串實際上是使用null字元 0 終止的一維字元陣列。因此,乙個以 null 結尾的字串,包含了組成字串的字元。下面的宣告和初始化建立了乙個 hello 字串。由於在陣列的末尾儲存了空字元,所以字元陣列的...

C 列表初始化,字串初始化

列表初始化 int a 0 int a 全面應用 int a int a 0 預設初始化 定義變數時,沒有指定初值,則變數被預設初始化。定義函式體外的變數被初始化為0,函式體內部的內建型別變數不被初始化。字串初始化 string s1 string s2 s1 string s2 s1 string...

C語言字串初始化錯誤

在寫指標陣列題目時,遇到數字轉換問題。問題如下 將大於0小於1000的阿拉伯數字轉換為羅馬數字。表示個位數 i,ii,iii,iv,v,vi,vii,viii,ix 表示十位數 x,xx,xl,l,lx,lxx,l xc 表示百位數 c,cc,ccc,cd,d,dc,dcc,dccc,cm 我選擇了...