Для тестирования я должен обнаружить ошибки в следующей программе C:
#include <stdlib.h>
#include <stdio.h>
typedef struct {
struct chain *next;
int contents; } chain;
int main() {
int index;
chain *list;
chain *p;
chain *pointer;
list = malloc(sizeof(chain));
p = list;
for(index=0;index<10;index++) {
(*p).contents = index;
(*p).next = malloc(sizeof(chain));
p = (*p).next;
} ;
p = pointer = list;
index = 0;
while (index < 9) {
printf("cell # %d: %d\n",index,(*p).contents);
p = (*p).next;
free(pointer);
pointer = p;
index++;
} ;
printf("First cell: %d\n",(*list).contents);
return 0;
}
Я получаю следующие 2 ошибки:
Assignment from incompatible pointer type [Wincompatible-pointer-types]
на заявлениях p=(*p).next
.
У меня такое чувство, что это может быть что-то тривиальное, но я новичок в C и не могу понять правильный синтаксис для этих операторов. Помощь очень ценится.