это, вероятно, простое решение, я не знаком с C просто пытаются портировать мои Java структуры данных присвоений C.точки в качестве параметров функции C
это ошибка, я получаю:
тест .c: 4: ошибка: ожидается ')' перед '*' маркер
test.c: 11: ошибка: ожидается ')' перед '*' маркер
#include <stdio.h>
#include <stdlib.h>
void to_screen(NODE *cur){
while(cur->next != NULL){
printf("%d\n", cur->data);
cur = cur->next;
}
}
void add_first(NODE *head, int data){
NODE *cur;
int i;
for(i=0; i<10; i++){
cur = malloc(sizeof(NODE));
cur->data = data;
cur->next = (*head).next;
head->next = cur;
}
}
typedef struct node{
int data;
struct element *next;
}NODE;
int main(){
int i;
NODE *head;
for(i=0; i<10; i++){
add_first(head, i);
}
to_screen(head);
}
Помимо перемещения символа typedef в начало, не следует ли его читать: 'typedef struct node {int data; struct node * next; } УЗЕЛ; '? –
да, thats решена последняя часть моей проблемы, спасибо – Kyle
В этом коде есть еще одна проблема. 'NODE * head' в основной функции может указывать на любую точку, а также является параметром' add_first() '. Так как 'add_first()' читает главу 'head-> next', это вызовет ошибку сегментации. – czchen