首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

内存储器的使用_动态分配

2012-09-25 
内存的使用_动态分配?c语言中允许在执行程序时动态分配内存而只有使用指针,才能动态分配内存? 1.动态分

内存的使用_动态分配

?

c语言中允许在执行程序时动态分配内存;而只有使用指针,才能动态分配内存;

? 1.动态分配内存(void*) malloc(int size)

char *pString = (char*) malloc(12+1); ? //为字符指针动态分配内存,可以存储12个字符

? 2.分配内存时使用sizeof运算符

sizeof可以获取某类型或变量占用的内存大小(字节数),返回一个size_t类型的无符号整数

? 3.用calloc()函数分配内存(void*) calloc(int count,int elementSize)

与mcalloc相比的优点:它把内存分配各指定大小的数组;它初始化了锁分配的内存,所有的位都是0;

int *pNumber = (int *)calloc(5,sizeof(int)); ?//参数:数组个数,每个数组元素占用字节数

? 4.释放动态分配的内存free(void *)

堆上分配的内存会在程序结束时自动释放,但最好在使用完这些内存后立即释放.

例如:free(pString);

free(pNumber);

? 5.重新分配内存(void*) realloc(void *,int)

重用前面malloc,calloc,realloc分配过的内存

热点排行