我想访问结构中的结构,有人知道吗?
修改
typedef struct{
int a, b;
} struct_1;
typedef struct{
int c;
struct_1 exemple;
} struct_2;
struct_2 Table[100];
这里例如我想为Table [0] .exemple.a
分配一个值谢谢。 编辑:哇哇这样的dumba ..有时它只是工作iits我的打印打印100次而我只有6个条目所以我只需要查看打印感谢
答案 0 :(得分:3)
完全像你的例子:
Table[0].exemple.a = 12;
我认为您的问题是exemple
在您的示例中为struct_2
,而不是struct_1
就像您想要的那样。试试这个尺寸(纠正拼写):
typedef struct{
int a, b;
} struct_1;
typedef struct{
int c;
struct_1 example;
} struct_2;
struct_1 Table[100];
答案 1 :(得分:0)
使用嵌套结构,您可以继续访问属性,直到达到您要查找的内容为止:
Table[0].example.a = 5;
Table[0].example.b = 10;
答案 2 :(得分:0)
我想你可能意味着:
typedef struct{
int c;
struct_1 exemple; /* see how it's struct_1 */
} struct_2;
而不是
typedef struct{
int c;
struct_2 exemple;
} struct_2;
由于struct_2
没有a
字段。
在此之后,Table[0].exemple.a = 5
应该起作用,例如。
答案 3 :(得分:0)
您对struct_2
的声明看起来不对。将struct_2 exemple;
替换为struct_1 exemple;
。要访问结构内的数据,如果使用指针,请使用.
运算符或->
运算符。