str1 = ;
str2 =
str3 = "love";
對於第一種以單個字元初方式始化的,結束標誌:最後乙個字元
對於第二種和第三種以字串方式初始化的,為了判斷字串是否結束,編譯器會在最 後面自動加上結束字元 『\0』,所以在記憶體中實際存放情況為:l o v e \0 ,因此結束標誌:』 \0 』
原型
size_t strlen ( char const * str)
使用
printf("%d",strlen(str2));
輸出結果:4
功能是返回乙個變數或者型別的大小(以位元組為單位)
原型
sizeof( type_name ) ; //sizeof(型別);
sizeof objec t; //sizeof物件;
eg.
int i;
sizeof(i); //ok
sizeof i; //ok
sizeof(int); //ok
sizeof int; //error
返回值:size_t
參 數:型別 / 物件
使用
printf("%d",sizeof(str2));
輸出:5 C語言的sizeof和strlen
strlen是函式,而sizeof是算符。strlen需要進行一次函式呼叫,而對於sizeof而言,因為緩衝區已經用已知字串進行了初始化,其長度是固定的,所以sizeof在編譯時計算緩衝區的長度。strlen是遇到0或者 0 都會停止運算的,而sizeof是每個字元都會算的,不會漏掉0 或者 0 因...
C語言的sizeof和strlen
strlen是函式,而sizeof是算符。strlen需要進行一次函式呼叫,而對於sizeof而言,因為緩衝區已經用已知字串進行了初始化,起長度是固定的,所以sizeof在編譯時計算緩衝區的長度。因為sizeof 測試的是陣列的長度。而strlen測試的是字串的長度。在定義陣列時,字串後面還有乙個結...
C語言 sizeof和strlen的計算
sizeof是乙個關鍵字,求字串所佔的位元組數。printf d n sizeof int printf d n sizeof a printf d n sizeof a strlen是乙個函式,求字串的長度,結束符 0之前的字元個數。看一下下面幾組練習 一維陣列 int a printf d n ...