sizeof與strlen的區別

1 sizeof是操做符,而strlen是庫函數;數組

2 sizeof的參數能夠爲任意變量或類型,而strlen必須以char*作參數,且字符串必須以‘/0’結尾;函數

3 數組名用做sizeof參數時不會退化,而用做strlen參數時就會退化成指針;指針

4 大部分編譯器在編譯期計算sizeof的值,因此其結果能夠用做常量,例如能夠定義數組的維數,而strlen必定要到運行期纔會被計算;字符串

5 sizeof的參數若是是變量名,能夠不加括號,由於其是運算符不是函數,而strlen必須加括號;編譯器

6 在計算字符串的長度時strlen(str)+1==sizeof(str)。編譯

相關文章
相關標籤/搜索