c的三个内存分配函数(malloc,realloc,calloc)

//内存分配_malloc

int main(){
    int *p;
    char *p1;
    p=(int *)malloc(sizeof(*p)*size);//size为需要存储的数量
    p1=(char *)malloc(sizeof(*p)*size+1);//字符串要流一个结束符位置\0
    if(p=NULL||p1=NULL){
        exit(EXIT_FAILURE);
    }
    printf("suc");
    return 0;
}
//内存分配_calloc 对内存进行清0操作,而malloc不进行这样的初始化,也导致了他的效率会低一点,但是更安全
int main(){
    int *p;
    p=(int *)calloc(size,sizeof(int));
    if(p=NULL){
        ...
    }
    printf("suc");
    return 0;
}
//内存分配_realooc
int main(){
    int *p;
    p=(int *)calloc(size,sizeof(int));
    
    if(p=NULL){
        ...
    }
    realloc(p,sizeof(int)*newsize);
    if(p=NULL){
    。。。。。
    }
    printf("suc");
    return 0;
}

 

posted @ 2016-08-02 15:30  风雨缠舟  阅读(201)  评论(0编辑  收藏  举报