如何解决值无法分配给结构
我无法为d赋值。 总是0。 我找不到错误。
我的打印语句始终打印x为:0,y为0
disc dArr[30];
struct disc *d ;
for (int i = 0; i < numDiscs; i++)
{
d = &(dArr[numDiscs]);
x_offset = d->pos[0];
y_offset = d->pos[1];
printf("The x is: %f\n",x_offset);
printf("The y is: %f\n",y_offset);
}
typedef struct disc{
double pos[2];
} disc;
解决方法
disc dArr[30];
struct disc *d ;
for (int i = 0; i < numDiscs; i++)
{
d = &(dArr[numDiscs]);
...
}
假设numDiscs == sizeof(dArr) / sizeof(*dArr)
尝试访问地址&(dArr[numDiscs])
的对象会产生未定义的行为。
您可能想要的是&(dArr[i])
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。