2017-07-09 8 views
0
#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); 
} 

..ここは私のコードです。どのようにして構造体nodeinの内部にある変数 'in'を初期化できますか?ネストされた構造体の初期化

+0

を親切にあなたの研究/デバッグの努力がこれまでに示しています

は次のようにしてください。まず[Ask]ページをお読みください。 –

+0

'prog.c:7:30:エラー:宣言で何も宣言しません。 ' – melpomene

+0

名前を付けてください。 'struct nodein {int in; }; ' - >' struct nodein {int in; } s_in; 'それから' p_> s_in.in = 42; ' – BLUEPIXY

答えて

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); 
} 
関連する問題