C char 陣列長度計算

2021-09-01 23:49:54 字數 674 閱讀 6855

字元素組長度是計算『\0』,還是不計算'\0';

char chs[7] = ; -----長度為6

char chs[7] = ; ------長度為6

char chs = ; --------長度為6

字元陣列的長度計算:必須以終止符』\0'作為邊界。

1.c語言允許用字串的方式對陣列作初始化賦值

字串總是以'/0'作為串的結束符;

因此當把乙個字串存入乙個陣列時,也把結束符'/0'存入陣列,並以此作為該字串是否結束的標誌。

char c="c program";

c   p r o g r a m /0

『/0'是由c編譯系統自動加上的,所以在用字串賦初值時一般無須指定陣列的長度, 而由系統自行處理。

2.sizeof 和 strlen 的區別

strlen只能用char*做引數,且該char陣列必須是以''/0''結尾的;

sizeof 即使在字元陣列沒有終止符'/0' 的時候,也能夠計算出陣列「長度」的原因,

但這裡的「長度」實際上是:編譯器分配給該陣列變數的記憶體大小!

char chs = ; // sizeof(chs) = 6; 而strlen(chs) = 2.

使用sizeof()計算陣列長度

char words 計算word中元素個數 size t words size sizeof words sizeof char 使用陣列初始化words2 指標初始化 list words2 words,words words size 解析 1 sizeof sizeof操作符返回乙個物件或型...

用sizeof 計算陣列長度

計算陣列長度時可以用 int array sizeof array 12 int length sizeof array sizeof array 0 3 char array abc sizeof array 4 考慮 0 strlen array 3 不考慮 0 int length sizeo...

C 陣列長度

初學c 到陣列的時候想手動寫一下迴圈輸出陣列內容的簡單迴圈,int arrayint 1,2,3,4,5 for size t i 0 i 結果發現輸出內容不對,i的值遠遠比size大,於是查資料了解一下sizeof是什麼作用 sizeof是乙個操作符 operator 其作用是返回乙個物件或型別所...