sizeof與strlen的區別:
1.sizeof為乙個運算子,可以以型別,函式做引數。而strlen是乙個函式,只能用char*做引數,且該char陣列必須是以』/0』結尾的,同時是函式引用時就需要標頭檔案。
sizeof以型別為引數
int main()
輸出結果為1,2,4,4,4,8
2.sizeof計算宣告後字串所佔的記憶體數(位元組大小),不是實際長度。即包含『\0』的大小。而strlen求字串長度不包含『\0』的長度。
具體**如下;
```int main()
//結果顯示為:
//strlen : 5
//sizeof : 20
3.陣列做sizeof的引數不退化,傳遞給strlen就退化為指標了。
陣列傳遞給strlen的本質為將陣列內第乙個元素的位址傳遞給strlen。
ps:這幾天在論壇上看文章發現自己第一篇部落格的乙個問題這裡修正一下。
static修飾函式:表面顯示出來和修飾全域性變數是相同的,都是改變作用域,準確的說是縮小了作用域;但本質上修飾函式是改變了函式的鏈結屬性,具體是由外部鏈結屬性轉變為內部鏈結屬性。
這次就先分享這些,如有錯誤希望大家多多指正。共同學習,共同進步。
sizeof求位元組以及與strlen的區別
例子一 根據以下條件進行計算 1 結構體的大小等於結構體內最大成員大小的整數倍 2 結構體內的成員的首位址相對於結構體首位址的偏移量是其型別大小的整數倍,比如說double型成員相對於結構體的首位址的位址 偏移量應該是8的倍數。include include using namespace std ...
C語言中的strlen與sizeof的區別
sizeof與strlen是有著本質的區別,sizeof是求資料型別所佔的空間大小,而strlen是求字串的長度,字串以 0結尾。區別如下 1 sizeof是乙個c語言中的乙個單目運算子,而strlen是乙個函式,用來計算字串的長度。2 sizeof求的是資料型別所佔空間的大小,而strlen是求字...
C語言中的strlen與sizeof的區別
sizeof與strlen是有著本質的區別,sizeof是求資料型別所佔的空間大小,而strlen是求字串的長度,字串以 0結尾。區別如下 1 sizeof是乙個c語言中的乙個單目運算子,而strlen是乙個函式,用來計算字串的長度。2 sizeof求的是資料型別所佔空間的大小,而strlen是求字...