У меня есть структура, называемая курсом, и каждый курс имеет несколько узлов (еще один узел структуры).
Количество узлов, которые он имеет, варьируется, но мне дается это число из файла, из которого я читаю эту информацию, поэтому это число находится в переменной.
Поэтому мне нужен malloc внутри структуры. Но я в замешательстве. Я знаю, что у вас могут быть массивы в структурах, но я не знаю, куда поместить код, который создает массив malloc, поскольку моя структура находится в моем заголовочном файле. Вот мой код на данный момент. Я понимаю, что это выглядит неправильно, я просто не знаю, как это исправить и где инициализировать массив malloc.
struct course {
char identifier[2];
int num_nodes;
struct node *nodes;
nodes = (struct nodes*)malloc(num_nodes*sizeof(struct node));
};
struct node {
int number;
char type[2];
};
Я хочу иметь возможность сделать что-то вроде:
struct node a_node;
struct course a_course;
a_course.nodes[0] = a_node;
и т.д...
Я мало использовал C, это первый раз, когда я пытался использовать динамические массивы в C. Весь мой опыт связан с Java, и, конечно же, Java не использует указатели в так же, как C, поэтому для меня все это немного запутанно.
Так что некоторая помощь будет высоко оценена, большое спасибо :)
a = malloc(mother_struct); a->baby = malloc(baby_struct);
:-) - person Jite   schedule 06.12.2012