【问题标题】:Nested Structure Initialization嵌套结构初始化
【发布时间】:2017-07-09 06:20:24
【问题描述】:
#include<stdio.h>
#include<stdlib.h>
int main(){
     struct nodeout
     {
      int out;
      struct nodein{int in; }; 
     };

     struct nodeout* p;
     p=(struct nodeout*)malloc(sizeof(struct nodeout));
     p->out=10;

     printf("%d",p->out);
 } 

..这是我的代码..如何初始化结构节点内的变量“in”?

【问题讨论】:

  • 请展示您迄今为止的研究/调试工作。请先阅读How to Ask页面。
  • prog.c:7:30: error: declaration does not declare anything
  • 给它一个名字。 struct nodein{int in; }; --> struct nodein{int in; } s_in; 然后p-&gt;s_in.in = 42;

标签: c pointers structure


【解决方案1】:

您确实定义了struct nodein,但没有为struct nodeout 定义nodein 成员。

执行以下操作:

#include<stdio.h>
#include<stdlib.h>

int main(){
    struct nodeout
    {
        int out;
        struct nodein {int in; } node_in; 
    };

    struct nodeout* p;
    p = (struct nodeout*)malloc(sizeof(struct nodeout));
    p->out = 10;
    p->node_in.in = 5

    printf("%d %d”, p->out, p->node_in.in);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多