new和malloc
来源:互联网 发布:ubuntu 断电日志 编辑:程序博客网 时间:2024/06/11 22:26
1.malloc
malloc为c风格,需要头文件malloc.h或者stdlib.h.
void *malloc(size_t size); //void* 表示未确定类型的指针,void *可以指向任何类型的数据,更明确的说是指申请内存空间时还不知道用户是用这段空间来存储什么类型的数据(比如是char还是int或者...).所以需要强制类型转换。
malloc 则必须要由我们计算字节数,并且在返回后强行转换为实际类型的指针。
另外有一点不能直接看出的区别是,malloc 只管分配内存,并不能对所得的内存进行初始化,所以得到的一片新内存中,其值将是随机的。
s_rectangle=(RECTANGLE *)malloc(num*sizeof(RECTANGLE)); memset(s_rectangle,0,RECTANGLE_NUMMAX*sizeof(RECTANGLE));free(s_rectangle);s_rectangle=NULL;
2.new
new自动计算需要分配的空间,而malloc需要手工计算字节数
new是类型安全的,而malloc不是
malloc/free要库文件支持,new/delete则不要Class A;
A *a=new A[10];delete []a;
0 0
- malloc以及malloc和new
- malloc new 和 opeartor new
- new,malloc和::operator new
- malloc和new区别
- malloc和new区别
- new 和 malloc
- new 和malloc
- new和malloc区别?
- malloc和new区别
- new和malloc区别
- malloc和new区别
- new 和 malloc
- 关于malloc和new
- new和malloc区别
- malloc 和new
- malloc 和new 区别
- malloc和new
- new 和malloc
- handler 警告This Handler class should be static or leaks might occur 的回调解决方法
- poj 1816 Wild Words(字典树+DFS)
- 十一月份计划
- Heap 排序
- IT视频课程集(包含各类Oracle、DB2、Linux、Mysql、Nosql、Hadoop、BI、云计算、编程开发、网络、大数据、虚拟化
- new和malloc
- 整数溢出小问题
- 接口
- Young氏矩阵
- Android 获取ROOT权限原理解析
- linux 图形界面 来龙去脉
- iOS7.1以后企业应用发布需要HTTPS协议,解决步骤(加了五、六步)
- Android-计步器的学习心得
- openssl生成秘钥