您的位置首页 >信息 > 新科技 >

💻sizeof和strlen区别详解👀

导读 在编程中,`sizeof`和`strlen`是两个经常被混淆的概念,它们看似相似,实则用途大相径庭!下面我们一起来看看它们的区别吧👇首先,`sizeof`

在编程中,`sizeof`和`strlen`是两个经常被混淆的概念,它们看似相似,实则用途大相径庭!下面我们一起来看看它们的区别吧👇

首先,`sizeof`是一个运算符,用于计算数据类型或变量在内存中所占的字节数。例如:

```c

char str[] = "Hello";

printf("%zu\n", sizeof(str)); // 输出 6 (包含字符串末尾的'\0')

```

可以看到,`sizeof`会把字符串中的`\0`也算进去,因为它统计的是内存大小。

而`strlen`是一个函数(需要引入``),它返回的是字符串的实际长度,即从字符串开头到`\0`之前的字符个数。继续上面的例子:

```c

printf("%zu\n", strlen(str)); // 输出 5

```

这里只计算了"Hello"这5个字符,忽略了`\0`。

总结一下:

- `sizeof`关注的是内存占用,包括`\0`。

- `strlen`关注的是字符数量,不包括`\0`。

两者虽然都与字符串有关,但适用场景完全不同,大家一定要分清楚哦!💡

版权声明:本文由用户上传,如有侵权请联系删除!