首页 > 代码库 > sizeof与strlen的区别

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

sizeof与strlen的区别