1.malloc函数的使用方法 :
void *malloc(unsigned size);
其中size是指的分配内存的字节
void *malloc(unsigned size) ,包含在库函数 stdlib.h中,作用是在内存的堆区分配一个大小为size的连续空间,如果分配内存成功,函数返回新分配内存的首地址,否则,返回NULL,注意:鉴于上述这点,一般在写程序需要判断分配内存是否成功。在使用完毕以后必须手动释放内存空间,否则会造成内存泄露。 malloc分配的是一块连续的内存。
例:
int *p;
p=(int *)malloc(sizeof(int)*4); // 分配出4个int型的存储空间
if(p!=NULL)
............//需要执行的语句
else
............//打印分配内存不成功出错信息
free(p); // 释放空间
p = NULL; // 清空指针 被释放后的指针不可在使用
原型为:
void*calloc(unsigned n,unsigned size); // c语言环境下
void *calloc(size_tenum_elements,size_t element_size); // OC环境下
n表示需要分配内存的数据项个数,size指每个数据项的大小,calloc函数会把存储空间初始化为0
返回指向内存的指针之前把它初始化为0 。
例:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[]) {
int *p,i;
p = (int *)calloc(3,sizeof(int)); // 分配出3个int型的存储空间
for (i = 0; i < 3; i++) {
printf("%d\t",*p++);
}
free(p); // 释放
return 0;
}