c語言sizeof的重要用途之一就是求數組長度,但是sizeof必須在數組定義的位置使用。不能作為參數傳入函數并在函數中使用sizeof;
比如下邊這個例子
函數中列印結果為;
數組的長度應該是5但是結果卻是2,這是為什麼呢?因為在函數裡邊,a隻是作為一個指針,而不是a【】一整個數組,運作時編譯器不知道以a表示的位址有多大。sizeof(a)隻是一個指針的大小。
嘗試如下:
結果為
而如果sizeof用在定義數組階段就沒事;
結果為
c語言sizeof的重要用途之一就是求數組長度,但是sizeof必須在數組定義的位置使用。不能作為參數傳入函數并在函數中使用sizeof;
比如下邊這個例子
函數中列印結果為;
數組的長度應該是5但是結果卻是2,這是為什麼呢?因為在函數裡邊,a隻是作為一個指針,而不是a【】一整個數組,運作時編譯器不知道以a表示的位址有多大。sizeof(a)隻是一個指針的大小。
嘗試如下:
結果為
而如果sizeof用在定義數組階段就沒事;
結果為