關於C語言sizeof運算子和strlen 函式

2021-10-05 17:01:04 字數 965 閱讀 9879

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的返回型別...