如何在C中创建具有结构元素的数组?
我想创建一个包含结构元素的数组,结构的每个元素都是一个布尔值,并且在访问每个数组元素时我想修改结构的值。结构体是一个全局变量,在修改数组元素的时候,我想同时修改全局结构体。
typedef struct
{
bool bool1;
bool bool2;
bool bool2;
} struct_bool;
struct_bool my_struct;
bool array_dummy[3] = {my_struct.bool1, my_struct.bool2, my_struct.bool3};
array_dummy[0] = true;
array_dummy[1] = true;
array_dummy[2] = false;
回答
使用指针:
bool *array_dummy[3] = { &my_struct.bool1, &my_struct.bool2, &my_struct.bool3 };
*array_dummy[0] = true;
*array_dummy[1] = true;
*array_dummy[2] = false;