动态内存申请
相关函数
- malloc //用于内存申请
- memset //将申请到的内存初始化(实质是用0将申请到的内存填充,使其不随机)
- free //用于将申请的内存在使用完后进行释放
函数使用
malloc
参数
要申请的内存的大小
返回值
成功则返回指向申请到的内存的指针,类型为void,需强制转换为需要的类型
失败返回null
memset
参数
- 指向要初始化的内存的指针(给定首位置)
- 用来填充的字符
- 要填充的区域大小(给定填充长度)
返回值
返回值为参数1,一般用于简化代码
free
参数
指向要释放的内存的指针
返回值
暂未注意到
代码说明
//动态申请内存
student *pfPrint = (student*)malloc(n * sizeof(student));
memset(pfPrint, 0, (n * sizeof(student)));//对申请的内存进行初始化
//防错机制,防止内存申请失败
if (pfPrint==NULL)
{
puts("内存申请失败,按任意键退出");
getchar();
exit(0);
}
……
(利用指针对内存进行操作)
……
free(pfPrint);//释放申请的动态内存