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)。编译

相关文章
相关标签/搜索