构造并将值传递给它们

4 c struct

如果我有一个数组,如int数[5]我可以为数字[0] = 1或数字[3] = 4分配值.然后,如果我有一个结构,如

struct structName
{
    int number0;
    int number1;
    int number2;
};
Run Code Online (Sandbox Code Playgroud)

有没有办法做类似以下的事情(注意这不是工作代码)

int main(void)
{
    struct structName name;  //how could i declare this to do the following
    for(int i = 0; i < 2; i++)
    {
        name[i] = i;  //maybe  name.[i]
    }
}
Run Code Online (Sandbox Code Playgroud)

那么有没有办法写名[variable] = someNumber来指定someNumber来表示number0(如果变量为0)或number2(如果变量为2).香港专业教育学院一直在寻找天,并找不到任何能做到这一点.(也许我只是不知道该找什么)

Cal*_*leb 5

有没有办法做类似以下的事情

不,没有办法通过索引访问结构的字段.您可以使用字段的名称:

struct structName name;
name.number0 = someNumber;
name.number1 = someOtherNumber;
Run Code Online (Sandbox Code Playgroud)

如果要通过索引访问值,请使用数组,即使它嵌入在结构中:

struct structName
{
    int numbers[3];
    // other fields here
};
Run Code Online (Sandbox Code Playgroud)

然后你可以说:

struct structName name;
for (int i = 0; i <= 2, i++) {
    name.numbers[i] = i;
}
Run Code Online (Sandbox Code Playgroud)