Das ist der Fehler, den ich bekomme. Ich versuche, verkettete Listen in der Sprache c zu implementieren.Verknüpfte Listen in C, 'Knoten' nicht deklariert (erste Verwendung in dieser Funktion)
Prog.c: In Funktion 'Einfügen': prog.c: 33: 26: Fehler: 'Knoten' nicht deklariert (erste Verwendung in dieser Funktion) struct Knoten * temp = (Knoten *) malloc (sizeof (struct Knoten));
der Code wie unten
#include<stdio.h>
#include<stdlib.h>
struct node{
int data;
struct node* next;
};
struct node* head;
void Insert(int x);
void Print();
int main(void){
head = NULL;
printf("how many numbers?");
int n,i,x;
scanf("%d",&n);
for(i=0;i<n;i++){
printf("Enter the number");
sacnf("%d",&x);
Insert(x);
Print();
}
return 0;
}
void Insert(int x){
struct node* temp = (node*)malloc(sizeof(struct node));
temp->data = x;
(*temp).next = head;
head = temp;
}
void Print(){
struct node* temp = head;
printf("\nThe List is ");
while(temp!=NULL){
printf(" %d", temp->data);
temp=temp->next;
}
}
ist Es gibt keine 'node'. Es gibt 'struct node'. C ist nicht C++. Und [stoppe Casting "malloc" in C-Programmen] (https://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc) unabhängig. – WhozCraig
In C müssen Sie 'typedef' verwenden, wenn Sie einen Strukturnamen als eigenständigen Typ verwenden möchten. – Barmar
das hat funktioniert .. danke. –