您的位置:首页 > 其它

结构体中经常碰到的一个错误 undeclared identifier

2015-08-29 20:35 302 查看
#include<stdio.h>
#include<stdlib.h>

struct student{
//定义一个学生结构体
char name[30];
int age;
}stu = {"zhangsan", 30};

int main(){
struct student *pStudent;
struct student *ps;
ps = (student *)malloc(sizeof(struct student));
return 0;
}


在上面的简单代码中,本来是为了测试malloc方法的使用,结果碰到这个错误,不过倒是挺好,平时经常遇到!

总结为一句:总之有碰到定义结构体类型的时候,struct关键字绝对不能少

像上面的代码部分,错误就出在动态分配内存的那条语句,应该改成:

ps = (struct student *)malloc(sizeof(struct student));


值得提出的是,这函数的返回值为指针类型,具体指针类型为何值,不确定,必须进行强制转换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struct