malloc,calloc,realloc的使用以及注意事项



1.malloc

作用:分配内存块

语法:void * malloc(size_t size);

参数

      size      要分配的字节


返回值

            1.内存充足返回该内存的指针

            2.内存不足则返回NULL

 

____________________________________________________________________


2.realloc

作用:重新分配内存块

语法:void * realloc(void* p, size_t size);


参数

     p      以前分配的内存块的指针

     size新的大小     (以字节为单位)

 

返回值

            1.原内存块后内存充足则返回原指针

            2.原内存块后内存不够用返回新的地址

            3.内存不足则返回NULL

            4.size0释放并返回NULL

 

—————————————————————————————————————

3.calloc

作用:分配n个长度为size的连续空间并初始化元素为0

语法:void * calloc(size_t n, size_t size);

参数

     n元素的个数

     size  每个元素字节长度

举例子:

(一)malloc与calloc的对比


代码:





[cpp] view plain copy print?
//环境  win7 64位  vs2008  
#include   
#include   
  
int main(void)  
{  
    int num;            //元素个数  
    int* p;             //内存块地址  
  
    scanf("%d",&num);  
    p = (int *)malloc(sizeof(int)*num);  
    printf("%x \n",p);      //打印malloc后的首地址  
  
    p = (int *)calloc(num,sizeof

返回值

            1.分配成功返回起始地址

            2.失败返回NULL

你可能感兴趣的:(malloc,calloc,realloc的使用以及注意事项)