c primer plus總結:
1.不同點
sizeof運算子是以位元組為單位返回運算子物件的大小;
strlen()函式給出字串中的字元長度;
2.相同點
sizeof運算子和strlen()函式返回型別可以用%zd轉換(不識別%zd,嘗試換成%u或者%lu)
sizeof運算子和strlen()函式返回的實際型別是unsigned或者unsigned long
此例用c primer plus 程式舉例它們的不同點
#include
#include
//提供strlen()函式的原型
#define praise "you are an extraordinary being."
intmain
(void
)
程式輸出結果如下:
總結:第乙個printf()函式輸出what』s your name?;
第二個printf()函式輸出字串nameserendipity,praise;
第三個printf()函式輸出name字串字元長度11,name位元組大小為40;
第四個printf()函式輸出praise字串長度為31;
第五個printf()函式輸出praise位元組大小為32;
綜上所述:strlen()函式給出的字串的字元長度包括空格和標點符號,第三個printf()函式name陣列第12個單元儲存空字元,但是strlen()函式沒有把空字元計算其中,所以結果為11;
C語言 sizeof 運算子
今天看了一篇文章叫 c c 刁鑽問題各個擊破之細說sizeof 然後自己想寫一寫。sizeof的作用 1.求基本型別和復合型別所佔的記憶體位元組數 如 sizeof int sizeof int 2.求某個變數或者常量所佔的記憶體位元組數 如 int i sizeof i sizeof 5 size...
關於sizeof運算子
1 sizeof運算子 sizeof是乙個特殊的運算子,它有兩種形式 sizeof 表示式和sizeof 型別名 對於sizeof運算子要注意幾點 1 如果是表示式的話,括號可以省略,但是對於型別,括號不能省 2 sizeof求算的是所佔的空間,如果作用於表示式,這個表示式是不進行求值的,只根據型別...
C 筆記(5) 關於sizeof運算子
注 參考自 王道程式設計師求職寶典 sizeof是乙個單目運算子,並不是乙個函式。sizeof用來計算運算元在記憶體中所佔的位元組數。sizeof的計算發生在編譯時,所以它可以被當作常量表示式使用,需要注意的是,它會忽略括號內的各種運算,如sizeof a 中的 就不會被執行。sizeof的返回型別...