Strlen与sizeof
时间: 2024-12-10 15:13:36 浏览: 24
strlen与sizeof
`strlen`和`sizeof`在C/C++中各有不同的用途:
1. `strlen`[^1] 函数用于计算给定字符串(以空字符`\0`结尾)的长度,不包括空字符本身。它返回的是一个`size_t`类型的值,表示字符串的实际字符数。例如:
```c
char str[] = "Hello, World!";
size_t len = strlen(str);
printf("String length: %zu\n", len); // 输出:13
```
2. `sizeof`[^2] 是一个运算符,它返回的是指定变量或类型在内存中占用的空间大小,单位通常是字节。如上述代码所示:
```c
int arr[5]; // 定义一个包含5个元素的整型数组
int ret = sizeof(arr); // 返回整个数组占用的总字节数
printf("Array size (bytes): %zu\n", ret); // 输出:20 (因为每个int占4字节)
```
总结来说,`strlen`关注的是存储的内容长度,而`sizeof`关心的是内存分配的物理空间。这两个概念并不相同,但在程序设计中经常一起使用来获取不同类型的数据结构的大小信息。
阅读全文