gpt4 book ai didi

c - 地址比较和字符串存储

转载 作者:太空狗 更新时间:2023-10-29 15:04:36 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How are string literals compiled in C?

我写了下面的小代码。在此代码中,我认为将比较第一个和第二个“hello”字符串的地址。我对此感到困惑。乍一看,我认为这两个字符串都存储在只读内存中,因此具有不同的地址。但是执行后打印了“equal”。

当我看到 objdump 时,我并不是看不到字符串 hello。我知道我没有使用变量来存储它们,但是“hello”将存储在哪里。

会存储在STACK上吗??或者会存储在Code Segment上吗??

#include<stdio.h>
int main()
{
if ("hello" == "hello")
printf("\n equal ");
else
printf("\n not equal");
return 0;
}

当我将 if 条件更改为 if ("hello"== "hell1") 时,打印了“不等于”。同样,字符串存储在哪里以及如何存储。它会存储在 STACK 上吗??或者会存储在Code Segment上吗??

如果这里有人能给我详细的答案,我将不胜感激。谢谢

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