Я столкнулся с проблемой, связанной с указателем и структурой.
#include<stdlib.h>
#include<stdio.h>
Определите две структуры: подтерм и основной термин.
typedef struct{
int sub_id;
int sub_data;
struct sub_term *next_term;
}sub_term;
typedef struct{
char name[10];
struct sub_term *init_term;
struct sub_term *current_term;
}major_term;
Я хочу создать основной термин, который содержит подпунктterm.
int main(void){
major_term *Test_1;
Test_1 = (major_term *)malloc(sizeof(major_term));
Test_1->init_term = (sub_term *)malloc(sizeof(sub_term));
Test_1->current_term = Test_1->init_term;
printf("Sub term 1 id : ");
Однако компилятор замечает, что в этой строке «разыменование указателя на [неполный тип» [Ошибка] в этой строке.
scanf("%d",&Test_1->current_term->sub_id);
Я новичок в языке C и не уверен, чтопричина.Спасибо за ваши рекомендации, которые делают мой код лучше!
printf("Sub term 1 id : ",Test_1->current_term->sub_id);
printf("Sub term 1 data: ");
scanf("%d",&Test_1->current_term->sub_data);
printf("Sub term 1 data : ",Test_1->current_term->sub_data);
return 0;
}