在vs2010写c程怎么定义结构体

qq_23009835 2014-12-16 07:03:43

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
struct stu{
char name[9];
int score[5];
stu *next;
};
stu *crea(int n){
stu *head,*p1,*p2;
int i;
head=p1=(stu*)malloc(sizeof(stu));
scanf("%s%d",head->name,head->score);
head->next=p1;
for(i=2;i<=n;i++){
scanf("%s%d",p1->name,p1->score);
p2=(stu*)malloc(sizeof(stu));
p1->next=p2;
}
p2=NULL;
return head;
}
void main(){
int n=2;
stu *h;
h=crea(n);
}

就是一个简单的链表的定义,可是一调试,各种出错,结构体定义出错。怎么解决,我把书上的代码复制了也有问题,为什么我在vc++下运行就没有问题。
...全文
603 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
猫猫生威 2014-12-17
  • 打赏
  • 举报
回复
这是c跟c++的一个不同之处
猫猫生威 2014-12-17
  • 打赏
  • 举报
回复
vs 上用c语言定义一个结构struct title{} ; 再定义该结构的变量时是struct title a;要么用typedef title{}a,就可以直接用a去定义该结构的变量了
luo_miao 2014-12-17
  • 打赏
  • 举报
回复
typedef struct _stu{
    char name[9];
    int score[5];
    struct _stu *next;
} stu;
ccnyou 2014-12-16
  • 打赏
  • 举报
回复
将文件名改成 cpp 就行了。不然标准的C写法应该是struct stu *crea(int n){}
qq_23009835 2014-12-16
  • 打赏
  • 举报
回复

错误	1	error C2061: 语法错误: 标识符“stu”	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	8	1	vvvv
错误	2	error C2059: 语法错误:“}”	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	9	1	vvvv
错误	3	error C2143: 语法错误 : 缺少“{”(在“*”的前面)	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	10	1	vvvv
错误	4	error C2065: “stu”: 未声明的标识符	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	11	1	vvvv
错误	5	error C2065: “head”: 未声明的标识符	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	11	1	vvvv
错误	6	error C2065: “p1”: 未声明的标识符	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	11	1	vvvv
错误	7	error C2100: 非法的间接寻址	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	11	1	vvvv
错误	8	error C2065: “p2”: 未声明的标识符	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	11	1	vvvv
错误	9	error C2100: 非法的间接寻址	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	11	1	vvvv
错误	10	error C2143: 语法错误 : 缺少“;”(在“类型”的前面)	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	12	1	vvvv
错误	11	error C2065: “head”: 未声明的标识符	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	13	1	vvvv
错误	12	error C2065: “p1”: 未声明的标识符	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	13	1	vvvv
错误	13	error C2065: “stu”: 未声明的标识符	c:\users\administrator\documents\visual studio 2010\projects\vvvv\vvvv\vvvv.c	13	1	vvvv


只贴出来部分,后面还有一大堆
fly_dragon_fly 2014-12-16
  • 打赏
  • 举报
回复
贴错误提示一下

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧