C++中 int(*a)[10]与 int *a=new int[10] 有什么区别

 我来答
谯玉巧彤申
2019-12-22 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.4万
采纳率:35%
帮助的人:1010万
展开全部
正确形式:
int
a[10];
int
*a
=
new
int[10];
前者系统会在栈中分配空间,系统会自动实现内存的分配和回收。
后者系统会在堆中分配空间,系统一般不会自动实现内存的回收,如果程序中没有delete,可能会造成内存的泄露。
后者比前者灵活,它是动态分配内存的,会根据程序的需要分配,需要多少自己就决定分配多少,浪费空间少。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式