c - 数组中的结构体值在 C 中返回错误值

标签 c arrays struct

我有一个“MyStruct”数组

    typedef struct MyStruct {
            double a;
            double b;
            double c;
        }MyStruct ;

        ....
    MyStruct tab[30];
    for (i=0;i<30;i++){
        tab[i].a=1.0f;
        tab[i].b=2.0f;
        tab[i].c=3.0f;
    }

    for(int i=0;i<10;i++){
       MyStruct s = tab[i];
          ....
       //tab[i] correct (1,2,3)
       //s incorrect (0,0,0)
    }
            ...

当我在 MyStruct s = tab[i]; 上放置断点并在编译器中观察时,选项卡中的值是正确的。问题是我的变量 's'、s.a、s.b 和 s.c 与索引 i 处的数组的值不同。

我不明白这个问题

最佳答案

断点是否正好位于这一行:

MyStruct s = tab[i];

如果是这种情况,则分配尚未发生。进入调试器中的下一行并检查值。

关于c - 数组中的结构体值在 C 中返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20858345/

相关文章:

arrays - 如何通过 VBA 函数填充 Excel 工作表中的单元格?

Java:for循环中的对象数组赋值

arrays - 将字典键和值重用到可重用单元格中

c - 返回变量结构成员

c - 增加指向结构的指针

在 C 中使用变量创建文件

c - C 的结构化模块接口(interface)

javascript - 在 Javascript 中是否有等同于 C 的 *(unsigned int*)(char) = 123 的东西?

c - 指向仅在 main() 内部工作的数组的指针

c - 如何正确分配新的字符串值?