动态内存分配在C语言和C++语言中的不同?

动态内存分配在C语言和C++语言中究竟有何不同?他们都是如何分别用什么系统函数或运算符实现的呢?... 动态内存分配在C语言和C++语言中究竟有何不同?他们都是如何分别用什么系统函数或运算符实现的呢? 展开
 我来答
麦兜戏隙2
2014-08-09 · TA获得超过241个赞
知道答主
回答量:136
采纳率:0%
帮助的人:66.8万
展开全部
1.动态内存分配在C语言用函数malloc 函数malloc的原型如下: void * malloc(size_t size); 用malloc申请一块长度为length的整数类型的内存,程序如下: int *p = (int *) malloc(sizeof(int) * length); 2.动态内存分配在C++语言用运算符new 运算符new使用起来要比函数malloc简单得多,例如: int *p1 = (int *)malloc(sizeof(int) * length); int *p2 = new int[length]; 这是因为new内置了sizeof、类型转换和类型安全检查功能。对于非内部数据类型的对象而言,new在创建动态对象的同时完成了初始化工作。如果对象有多个构造函数,那么new的语句也可以有多种形式。例如 class Obj { public : Obj(void); // 无参数的构造函数 Obj(int x); // 带一个参数的构造函数 … } void Test(void) { Obj *a = new Obj; Obj *b = new Obj(1); // 初值为1 … delete a; delete b; } 补充:动态分配的内存,用完了要销毁,不然会造成内存泄露。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式