c语言头文件有那些?

/*链栈的运算,包括进栈。退栈,输出栈中的所有元素。 程序如下:*/

#include<stdio.h>
#include<stdlib.h>

typedef struct node{
int date;
struct node *next;
}Lsnode;

/*进栈*/
Lsnode *push(Lsnode *top,int x)
{
Lsnode *p=(Lsnode *)malloc(sizeof(Lsnode));
p->data=x;
p->next=top;
return p;
}
/*退栈*/
Lsnode *pop(Lsnode *top,int *x)
{
Lsnode *p=top;
if(p==NULL)
return 0;
*x=p->data;
top=p->next;
free(p);
return top;
}

void prints(Lsnode *top)
{
Lsnode *p=top;
printf("stack is:");
while(p){
printf("%d",p->data);
p=p->next;
}
printf("\n");
}

void main(){
Lsnode *top=NULL;
int choice=0,x;
while(choice<4){
printf("0:ends");
printf("1:push");
printf("2:pop");
printf("3:output data of stack");
printf("choice");
scanf("%d",&choice);
switch(choice)
{
case 0:break;
case 1:printf("output data that has pushed x:");
scanf("%d",&x);
push(top,x);
break;
case 2:if(top){
printf("stack empty");
top=pop(top,&x);
printf("poprf value is %d",x);
break;}
case 3:
prints(top);
break;

}
if(choice==0)break;

}
为什么报错H:\c语言编程\stack.cpp(15) : error C2039: 'data' : is not a member of 'node'
H:\c语言编程\stack.cpp(6) : see declaration of 'node'
H:\c语言编程\stack.cpp(25) : error C2039: 'data' : is not a member of 'node'
H:\c语言编程\stack.cpp(6) : see declaration of 'node'
H:\c语言编程\stack.cpp(36) : error C2039: 'data' : is not a member of 'node'
H:\c语言编程\stack.cpp(6) : see declaration of 'node'
H:\c语言编程\stack.cpp(72) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错

第1个回答  2011-10-05
c的主要头文件就是 <stdio.h> 如果你调用相应的库函数就包含相应的头文件就行,库函数很多,具体可以根据你的程序查阅资料。
第2个回答  2011-10-05
大哥,你也太粗心了吧~~你的结构体明明里面写的是date,可是在下面调用时却是data,这个啊,还好是c语言,连编译都不让你通过,因为c要求变量都应先定义后使用,如果是php什么的,你连错在哪里了都不知道~

还有,c的头文件有哪些,这怎么回答呢?我们自己都可以(有时必须)写~这怎么回答
第3个回答  2011-10-05
支持二楼!问问题也要问清楚吧?这问题真没水平。头文件自己搜下就知道了,没必要去死记,多看点程序代码,自然能看到!问问题不是交一个烂摊子给人家,然后鼻孔朝天滴说“你看着办!”。静下来看看有问题的到底是哪里!然后再问吧
第4个回答  2011-10-08
utdHFG
第5个回答  2011-10-05
date错写成data了。本回答被提问者采纳
相似回答