gpt4 book ai didi

c - 在 C 中打印值的地址或指针

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

我想做一些看起来相当简单的事情。我得到了结果,但问题是,我无法知道结果是否正确。

我在用 C 语言工作,我有两个建议;我想打印指针的内容。我不想取消引用指针来获取指向的值,我只想要指针存储的地址。

我写了下面的代码,我需要知道的是它是否正确,如果不正确,我该如何改正。

/* item one is a parameter and it comes in as: const void* item1   */
const Emp* emp1 = (const Emp*) item1;

printf("\n comp1-> emp1 = %p; item1 = %p \n", emp1, item1 );

虽然我发布了这个(并且它是正确的很重要的原因)是我最终需要为一个指向指针的指针做这个。即:

const Emp** emp1 = (const Emp**) item1; 

最佳答案

将指针中的地址打印到指针:

printf("%p",emp1)

取消引用一次并打印第二个地址:

printf("%p",*emp1)

你总是可以用调试器验证,如果你在 linux 上使用 ddd 和显示内存,或者只是普通的 gdb,你会看到内存地址,所以你可以比较使用指针中的值。

关于c - 在 C 中打印值的地址或指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1055959/

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