struct中struct的结构

时间:2011-09-09 18:39:20

标签: c arrays structure

我想访问结构中的结构,有人知道吗?

修改

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个条目所以我只需要查看打印感谢

4 个答案:

答案 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;。要访问结构内的数据,如果使用指针,请使用.运算符或->运算符。