如果我有一个数组,如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).香港专业教育学院一直在寻找天,并找不到任何能做到这一点.(也许我只是不知道该找什么)
有没有办法做类似以下的事情
不,没有办法通过索引访问结构的字段.您可以使用字段的名称:
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)