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

原文地址:https://www.cnblogs.com/xidian2014/p/8614094.html