C++ malloc()、calloc()、realloc()、new[]分配内存方法辨析

来源:互联网 发布:淘宝客服昵称怎么修改 编辑:程序博客网 时间:2024/05/20 01:09

1:malloc()函数: void *malloc(unsigned int size)

在内存的动态区域中分配一个长度为size的连续空间,分配成功返回内存空间的首地址,否则返回NULL,申请的内存不会进行初始化,一块内存


2:calloc()函数:void *calloc(unsigned int num,unsigned int size)

按照所给数据个数和数据类型所占字节数,分配一个num*size的连续空间,并初始化内存空间为0,n块内存


3:realloc()函数:void *realloc(void *ptr, unsigned int size)

动态分配一个长度为size的内存空间,并把内存的首地址赋给ptr,且将ptr的内存空间调整为size,申请的内存不会进行初始化


4:new运算符

new会自动计算所需要分配的内存空间,且在分配类类型的内存空间时,同时调用类的构造函数,对内存空间进行初始化,即完成类的初始化工作

new[],new的数组版,要求元素对象的类型必须有默认的构造函数,或者后面加小括号()


5:alloc()运算符

在栈上申请内存,无需进行释放



1 0
原创粉丝点击