Я компилирую этот кусок кода, и я получаю ошибки компиляции, говоря «указатель разыменования неполного типа». Я получаю ошибки для последнего оператора печати и до этого, где я пытаюсь указать (* temp). Num по адресу бВопрос об указателях структуры ссылки на ссылки
void main()
{
struct {
int xx;
char *y;
int * num;
struct x *next;
}x;
struct x* temp;
int b = 10;
temp = ((struct x *)malloc(sizeof(x)));
(*temp).num = &b;
x.next = temp ;
printf(" %d\n",temp->num, x.next->num);
}
'главный()' возвращает Int. Для того, чтобы сделать вашу программу более портативного использования 'INT основной (недействительным) {/ * ... * /}'. И вам не нужно указывать возвращаемое значение 'malloc()', гораздо лучше '#include'. И '(* temp) .num' может быть написано' temp-> num'. –
pmg
Oh. .. и ваш 'printf' ожидает 1 аргумент, кроме строки формата, и вы передаете его. 2. – pmg
Вы не должны указывать возвращаемое значение malloc(), в C. – unwind