gpt4 book ai didi

c - 将指针结构访问到结构中

转载 作者:行者123 更新时间:2023-11-30 19:18:36 27 4
gpt4 key购买 nike

我以为这是一个简单的问题,但我无法理解。我有以下代码:

int main(int argv,char **argc){
typedef struct tag{
int c;
float x;
struct tag *s_ptr;
} utag;

utag mytag;

mytag.(&s_ptr->c)=10;
printf("%d",mytag.s_ptr->c);
return 0;
}

我尝试访问嵌套结构的变量。我做错了什么?

最佳答案

尝试

(mytag.s_ptr)->c = 10;

s_ptr 是一个指针,但声明了 utag (它是一个结构体,而不是指向结构体的指针)。 “mytag.s_ptr”让您指向另一个“tag”结构的指针,“->”取消引用该指针,最后的“c”标识您想要的结构中的项目。

但是,由于您从未将 s_ptr 设置为任何代码,因此您的代码会崩溃,因此您需要将 mytag.s_ptr 初始化为有效的标记结构。

关于c - 将指针结构访问到结构中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26619351/

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