Инициализация вложенной структуры

#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', которая находится внутри структуры nodein?


person Community    schedule 09.07.2017    source источник
comment
Пожалуйста, покажите свои усилия по исследованию/отладке. Сначала прочитайте страницу Как спросить.   -  person Sourav Ghosh    schedule 09.07.2017
comment
Дайте ему имя. struct nodein{int in; }; --› struct nodein{int in; } s_in; затем p->s_in.in = 42;   -  person BLUEPIXY    schedule 09.07.2017


Ответы (1)


Вы определили struct nodein, но не определили элемент nodein для struct nodeout.

Сделайте следующее:

#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);
}
person duong_dajgja    schedule 09.07.2017