sizeof与strlen的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的区别的主要内容,如果未能解决你的问题,请参考以下文章

strlen 与 sizeof 的区别

Sizeof与Strlen的区别

sizeof与strlen的区别及运用

sizeof与strlen的区别

sizeof与strlen的区别

sizeof 和 strlen 的区别