1、編譯時計算運算符sizeof,可用類型或變量做參數,計算占用內存的大小。sizeof后若是類型必須加括弧,若是變量名可不加括弧。sizeof(x)可用來定義數組維數如:
輸出的結果為短整型的長度2。用結構類型或變量做參數時,sizeof 返回實際的大小,當用于靜態數組時,sizeof 返回全部數組的尺寸。sizeof 操作符不能返回動態地被分派了的數組或外部的數組的尺寸
2、運行時計算strlen,只能用char*做參數,且必須是以''/0''結尾的。計算的是字符串的長度。如:
3、處理靜態數組:
4、處理指針:
ss是指向字符串常量的字符指針,sizeof 獲得的是一個指針所占的空間。sizeof(*ss) 結果1,*ss是第一個字符 其實就是獲得了字符串的第一位'0' 所占的內存空間,是char類型的,占用1字節。strlen(ss)= 10,若要獲得這個字符串的長度,則一定要使用 strlen
以上所述就是關于sizeof 和 strlen區別的全部內容了,希望大家能夠喜歡
新聞熱點
疑難解答
圖片精選