gpt4 book ai didi

C 程序 - sizeof string with\0 个字符

转载 作者:太空狗 更新时间:2023-10-29 16:06:24 25 4
gpt4 key购买 nike

解释 sizeof 如何确定字符串的长度。

#include<stdio.h>

int main()
{
char str[] = "Sasindar\0Baby\0";
printf("%d\n", sizeof(str));
return 0;
}

最佳答案

sizeof 不决定字符串的长度。它决定了一个结构在内存中占用多少字节。

在您的例子中,结构是 str,一个字节数组。编译器知道有多少字节(包括尾部的两个 '\0')被放入数组中,因此它会在编译时生成正确的大小。 sizeof 不知道 str 是一个空终止的 C 字符串,所以它产生 15。

这与 strlen 形成对比,后者将您的字符串解释为 C 字符串,并返回第一个 '\0' 之前的字符数。

关于C 程序 - sizeof string with\0 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31760349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com