结构体中经常碰到的一个错误 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));
值得提出的是,这函数的返回值为指针类型,具体指针类型为何值,不确定,必须进行强制转换。
相关文章推荐
- C#中struct和class的区别详解
- C++ 关于STL中sort()对struct排序的方法
- C# Struct的内存布局问题解答
- 深入C++中struct与class的区别分析
- 浅析c与c++中struct的区别
- 浅析内存对齐与ANSI C中struct型数据的内存布局
- php读取二进制流(C语言结构体struct数据文件)的深入解析
- Go语言struct类型介绍
- 在Python的struct模块中进行数据格式转换的方法
- Python struct模块解析
- Go语言中struct的匿名属性特征实例分析
- 优化结构体中元素的布局
- ext关于session失效的处理
- typedef struct与struct的区别
- 完成端口的一个例子
- 小弟的程序运行不过去 哪位帮帮忙啊
- C#中Struct与Class的区别
- 哪位仁兄帮我编译以下程序阿?
- 用API编写MP3播放器
- linux下字符驱动模块的一般性步骤