gpt4 book ai didi

c - 结构的指针符号是否具有访问元素的特定样式?

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:44 27 4
gpt4 key购买 nike

struct b
{
int c;
};

struct a
{
struct b d[10][10];
}*e;


for(i=0;i<10;i++)
{
e->d[i][0].c=11;
//(*(*(d+i)+0)) will give you the element at that location
e->(*(*(d+i)+0)).c=22;
//(*(d+i)+0)-> will give us pointer to that particular element.
e->(*(d+i)+0)->c=33;
}

在 for 循环中,第一个表示法工作正常,但其他两个表示法显示错误

error: expected a field name

如果我们只使用结构 b,两个符号都可以正常工作,如下所示

struct b d[10][10];

这是为什么呢?是否有任何规范,比如我们不应该在 '->' 之后使用 '('?

最佳答案

这些行应该是什么意思?

e->(*(*(d+i)+0)).c=22;
e->(*(d+i)+0)->c=33;

-> 之后的唯一有效标记是字段名称。在本例中,d


我想,你想要这样的东西:

(*(*(e->d+i)+0)).c=22;
(*(e->d+i)+0)->c=33;

关于c - 结构的指针符号是否具有访问元素的特定样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33734902/

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