sizeof 和 strlen 的区别
时间: 2024-05-19 15:07:44 浏览: 103
sizeof和strlen是C语言中的两个函数,它们的作用不同。
sizeof是一个运算符,用于计算数据类型或变量所占用的字节数。它可以用于任何数据类型,包括基本数据类型(如int、float)和复合数据类型(如数组、结构体)。sizeof返回的是数据类型或变量所占用的字节数,而不是数据的实际长度。
strlen是一个函数,用于计算字符串的长度,即字符串中字符的个数,不包括字符串末尾的空字符'\0'。strlen只能用于字符串,它通过遍历字符串中的字符,直到遇到空字符'\0'为止,然后返回遍历的字符个数。
因此,sizeof和strlen的区别在于:
- sizeof用于计算数据类型或变量所占用的字节数,不受数据内容的影响。
- strlen用于计算字符串的长度,需要遍历字符串中的字符,直到遇到空字符'\0'。
下面是一个示例代码,演示了sizeof和strlen的用法:
```c
#include <stdio.h>
#include <string.h>
int main() {
int num = 123;
char str[] = "Hello";
printf("Size of int: %zu\n", sizeof(int)); // 输出:Size of int: 4
printf("Size of char: %zu\n", sizeof(char)); // 输出:Size of char: 1
printf("Length of string: %zu\n", strlen(str)); // 输出:Length of string: 5
return 0;
}
```
阅读全文