gpt4 book ai didi

c - 指向char的指针的地址和指向指向char的指针的指针之间的区别

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

我有以下代码示例:

#include <stdio.h>

int main(void)
{
char *text[2];
text[0] = "Hello";
text[1] = "World";

printf("Address of text[0]: %p\n", text[0]);
printf("Address of text : %p\n", text);

return 0;
}

这个程序的输出是:

Address of text[0]: 0x400694
Address of text : 0x7ffcac41b000

我想知道为什么这些地址的长度不同。为什么指向 char 的第一个指针的地址只有 6 位长度?

最佳答案

“地址长度”没有区别,区别在于

在这种特殊情况下,我假设 text[0] 指针指向保存编译时值 "Hello" 的数据段,并且 text 指针指向一个运行时地址。

由于它们位于不同的内存段,它们可能“相距很远”,因此您会得到您所看到的输出。

关于c - 指向char的指针的地址和指向指向char的指针的指针之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39309830/

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