`strlen`是C语言中的一个 标准库函数,用于计算一个以空字符`'\0'`结尾的字符串的长度。它不包括空字符`'\0'`在内,因此返回的是字符串中字符的个数。
函数原型
```c
size_t strlen(const char *str);
```
参数
`str`:指向要计算长度的字符串的指针。
返回值
`size_t`:返回字符串中字符的个数,不包括空字符`'\0'`。
示例
```c
include include int main() { char arr[] = "hello bit!"; int ret = strlen(arr); printf("The length of the string is: %d ", ret); // 输出: The length of the string is: 10 return 0; } ``` 注意事项 如果传入的参数是一个空指针,`strlen`的行为是不确定的,甚至可能引发运行时错误。 如果传入的字符串没有以`'\0'`结尾,`strlen`会一直计数直到遇到`'\0'`,这可能导致未定义行为。 与`sizeof`的区别 `sizeof`是运算符,用于计算变量或类型所占用的内存大小,结果类型是`size_t`。 `strlen`是函数,用于计算字符串的长度,参数和返回值类型都是`size_t`。 `sizeof`可以用类型做参数,而`strlen`只能用字符指针(`char*`)做参数,且必须是以`'\0'`结尾的字符串。 结论 `strlen`是C语言中非常常用的函数,用于快速获取字符串的长度,从而在对字符串进行操作时更加方便和准确。在使用时,需要注意传入的参数是否合法,以避免运行时错误。空指针:
未以`'\0'`结尾的字符串: