「wykxldz」這樣的乙個字串的型別是const char*,所以我們在申明字串的時候可以使用這樣的形式:
const
char *str = "123456";
printf("%lu\n", sizeof( str ) );
printf("%lu\n", strlen( str ) );
控制台顯示的是8,6其實我們也是可以省略const識別符號來申明這樣的乙個字串的:注:指標佔的位元組數是8
char *str = "123456";
printf("%lu\n", sizeof( str ) );
printf("%lu\n", strlen( str ) );
控制台顯示的是7,6當然我們都知道字串也是可以用字元陣列來表示的,所以申明字串我們還有一種形式:注:字串的最後乙個字元是」\0」
char str = "123456";
printf("%lu\n", sizeof( str ) );
printf("%lu\n", strlen( str ) );
控制台顯示的是7,6為了有對比,所以我們用const char 來申明字串,來看看const是對sizeof的影響:
const
char str = "123456";
printf("%lu\n", sizeof( str ) );
printf("%lu\n", strlen( str ) );
控制台顯示的是7,6所以,我們可以看出strlen的結果是沒有什麼大的歧義的,然而sizeof在面對const char*的時候發生了不同,這時sizeof返回的值是指標所佔的位元組長度,而不是指標所指向的字串的長度.
關於sizeof對字串計算
1 include 2 include 3 include 4 int main int argc,char argv 5 13 printf array sizeof sss is d n sizeof sss 14 printf array strlen sss is d n strlen ss...
strlen 和sizeof 計算字串長度
c語言字串長度的計算是程式設計時常用到的,也是求職時必考的一項。c語言本身不限制字串的長度,因而程式必須掃瞄完整個字串後才能確定字串的長度。在程式裡,一般會用strlen 函式或sizeof來獲取乙個字串的長度,但這2種方法獲取的字串的長度其實是不一樣,我們用如下函式進行測試 cpp view pl...
關於字元陣列和字串
關於字元陣列和字串 引用 火未燃說 char a 5 和char a 10 有效字元5個,0 表示結束,china共5個字元,但在記憶體佔6個位元組,a 10 佔足五個後遇到 0 結束 結束符 系統會自帶的,不用畫蛇添腳 加上也無所謂 by eviloctal 首先說火未燃關於空字元系統自己加的說法...