#include<stdio.h>
#include<stdlib.h>
struct node{
int data;
struct node* next;
};
struct node* head;
void insert(int );
void print();
int main()
{
int n,i;
printf("Enter the no. terms to be inserted");
scanf("%d",&n);
for(i=0;i<n;i++)
{
int x;
printf("Enter the %dth term to the linked list : ",i+1);
scanf("%d\n",&x);
insert(x);
}
print();
}
void insert(int x)
{
struct node* temp=(node*)malloc(sizeof(struct node));
temp->data=x;
temp->next=head;
head=temp;
}
void print()
{
int i=1;
struct node* temp=head;
while(temp!=NULL)
{
printf("The %dth element is : %d\n",i,temp->data);
temp=temp->next;
i++;
}
}
sh-4.3 $ gcc -o main .c
main.c:在功能&#39;插入&#39;:
main.c:29:24:错误:&#39;节点&#39;未申报(首次使用此功能)
struct node temp =(node *)malloc(sizeof(struct node));
^
main.c:29:24:注意:每个未声明的标识符仅针对它出现的每个函数报告一次
main.c:29:29:错误:预期表达式之前&#39;)&#39;令牌
struct node * temp =(node *)malloc(sizeof(struct node));
答案 0 :(得分:3)
因为您在该行中写了node
而不是struct node
。
在C中,使用struct node {...}
声明的结构称为struct node
。 不只是名为node
。