sizeof和strlen区别
时间: 2023-11-12 18:50:12 浏览: 107
sizeof和strlen的区别
sizeof和strlen是C语言中的两个函数,它们的作用和用法有所不同。
1. sizeof函数是一个运算符而不是函数,用于获取数据类型或变量所占的内存大小。它返回一个无符号整数值,表示以字节为单位的对象大小。sizeof可以用于任何数据类型,包括基本类型(如int、float)和自定义类型(如结构体、数组等)。示例使用方法如下:
```c
int num = 10;
size_t size = sizeof(num);
printf("num的大小为:%zu\n", size);
```
2. strlen函数是用于计算字符串长度的函数。它接受一个以null字符('\0')结尾的字符数组作为参数,并返回该字符串的长度,不包括null字符在内。示例使用方法如下:
```c
char str[] = "Hello, world!";
size_t length = strlen(str);
printf("str的长度为:%zu\n", length);
```
注意,strlen函数只适用于以null字符结尾的字符串,如果字符串中没有null字符,strlen函数可能会导致未定义的行为。
阅读全文