C学习-函数:动态分配内存空间 malloc 和 calloc 释放内存 free
malloc函数:分配一块内存区域
void *malloc(unsigned int size);
函数功能:在内存的动态存储区中分配一块长度为“size”字节的连续区域。
函数返回值:
若分配成功则为该区域的首地址
若分配失败(系统不能提供所需内存),则返回NULL。
因该函数返回类型是void *,需要把返回值强制转换为所需的数据类型指针。
如: #include <stdlib.h> char *p; p=(char *)malloc(200*sizeof(char)); //分配 200 个字符大小
calloc函数:分配 n 块内存区域
void*calloc(unsigned int n,unsigned int size);
函数功能:在内存动态存储区中分配n块长度为“size”字节的连续区域。
函数返回值:为该区域的首地址。
#include <stdlib.h> struct person *pab; pab=(struct person*)calloc(2,sizeof(struct person)); # 分配 2 块 person结构体类型 区域,
free 函数:释放内存空间
#include <stdlib.h> struct person *pab; pab= (struct person*)malloc(sizeof(struct person)); 如:free(pab); //使用完毕,要及时释放内存空间。
0顶
0 踩
共 0 条评论