我有 2 个结构:
struct b{int b;float d;}; and
struct a{int count; struct b* ptr;}
struct a *a_temp;
现在我为 10 个 b 类型的结构分配内存,并将地址放在结构 a 的 ptr 中。(代码给了我,他们出于某种原因不想使用双指针)
a_temp = (struct a*)malloc(sizeof(struct a));
a_temp->ptr = (struct b*)malloc(10*sizeof(struct b));
struct b* b_temp;
我必须将 b 类型的第二个结构的地址加载到 temp_b。我尝试b_temp = a_temp->ptr[1];
了哪个给出错误,但是b_temp = &(a_temp->ptr[1]);
当我尝试使用它并使用它访问结构 b 的内容时它正在工作,这是为什么呢?
提前致谢