首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C指针问题:&(*struct->struct)

C指针问题:&(*struct->struct)
EN

Stack Overflow用户
提问于 2010-04-23 01:48:17
回答 4查看 290关注 0票数 1

我有一个结构体,其结构定义如下(名称不同)

代码语言:javascript
复制
struct str1
{
   int field1;
   struct str2;
}

我在一个函数中有一个*str1。我想得到一个指向str2的指针。

所以我尝试了&(str1->str2),希望这会返回一个指向str2的指针。这是不正确的吗?它似乎不起作用。如果给我一个指向str1的指针,我如何获取指向str2的指针

EN

回答 4

Stack Overflow用户

发布于 2010-04-23 02:01:34

如果p是一个指向struct str1类型的对象的指针,那么&p->str2将给你指向它的str2成员的指针(假设它有str2成员)。

“似乎不起作用”并不是对问题的有意义的描述。不过,您的示例看起来很可疑。struct str1内部的struct str2没有任何意义。它应该是什么?结构类型的正向声明?你的指针真的叫str1吗?和struct标签一样吗?

票数 4
EN

Stack Overflow用户

发布于 2010-04-23 02:02:23

您的解决方案应该是正确的。str1->str2把你带到结构体,然后取它的地址,你就会得到一个指向那个值的指针。

你的调试器告诉你什么?也许你的str1指针是垃圾?

票数 1
EN

Stack Overflow用户

发布于 2010-04-23 01:51:35

如果您有指向str1的指针,则可能需要执行以下操作:

&(*(str1).str2)

对此不是很确定,但请尝试一下,我手头没有C编译器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2693162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档