c++ strlen和sizeof的区别
时间: 2023-11-12 07:45:53 浏览: 91
C语言中,`strlen`和`sizeof`是两个用于获取数据长度的函数/运算符。
`strlen`函数用于获取字符串的长度,即字符串中字符的个数,不包括字符串末尾的空字符('\0')。它需要传入一个以Null字符结尾的字符串作为参数,并返回一个无符号整数(`size_t`类型)表示字符串的长度。
示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello world";
size_t len = strlen(str);
printf("Length of the string is: %zu\n", len); // Output: Length of the string is: 11
return 0;
}
```
`sizeof`运算符用于获取给定类型或对象的字节大小。它不需要参数,但是可以用于任何数据类型、变量、数组或指针。`sizeof`返回一个`size_t`类型的值,表示该类型或对象所占用的字节数。
示例:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
size_t size = sizeof(arr);
printf("Size of the array is: %zu\n", size); // Output: Size of the array is: 20 (assuming int is 4 bytes)
return 0;
}
```
总结:
- `strlen`是用于获取字符串长度的函数,返回字符的个数。
- `sizeof`是用于获取数据类型或对象字节大小的运算符,返回类型或对象所占用的字节数。
阅读全文