strlen和sizeof求字符數組長度

這裏寫圖片描述

對字符數組,有以下幾種定義方法:
1)char str[]="12345";
或給字符串加上大括號:char str[]={"12345"};
這種方法定義時,系統會自動在字符串的末尾加上字符串結束符,即 ‘\0’,
2)char str[10]={'1','2','3','4','5'};
這種方法定義時,系統會自動從未初始化的元素開始,將之後的元素賦爲\0,如上面的數組str中的元素實際上是:'1','2','3','4','5','\0','\0','\0','\0','\0'
3)char str[]={'1','2','3','4','5'};
這種方法定義時,系統不會自動在字符串的末尾加上字符串結束符;

Sizeof計算的是佔用內存的大小,c1佔5個字節,c2還隱含一個’\0’,佔6字節
Strlen是計算字符串長度,遇到’\0’結束。c1的\0前面有兩個字符,c2的\0前面就是hello,佔5個字節

答案:5,2,6,5
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章