C++ 中如何简单理解动态数组,为什么说他是动态的,使用时还要给它分配内存,不分配会导致错误??

动态数组相对于静态数组有什么优点?因为刚学很多都理解不清楚感谢大侠指教!!... 动态数组相对于静态数组有什么优点?因为刚学 很多都理解不清楚 感谢大侠指教!! 展开
 我来答
百度网友26ad406
2012-05-30 · TA获得超过1611个赞
知道大有可为答主
回答量:1506
采纳率:100%
帮助的人:1076万
展开全部
动耐盯态数组就是在程序运行当中分配数组的大小,比如你锋亩缺输入一个n,就可以动态申请含银辩有n个元素的数组a int* a=new int[n]; 动态数组可以避免静态数组过小不够用和过大浪费空间的问题。
匿名用户
2012-05-30
展开全部
动态主要体现在它的长度不必在程序运行之初就指定,而是可以在程序运行的缓卜过程中根据需要动态确定其长度,而且长度还可以在运行的过程中修改。(哗迅一般的自动数组,只能在定义时指定其长度,一旦定义,就不能再修改)。扰芦穗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜游神小翠
2012-05-30 · TA获得超过1795个赞
知道小有建树答主
回答量:416
采纳率:0%
帮助的人:174万
展开全部
静态和动坦乱态的区别在于:静态数组是程序编译前就能确定大小的,而动态数组是程序运行后才知道数组的大小的。
很多情况下,直到程序开始运行我们都不能确定需要多大的数组,因此没有办法事先分配好。例如,我们需要输入n个数存入数组,但n事先不知道,由用户确定。虽然我们可以定义一个静态数组来做这个事情,但是如果静态数组定义的大小太小,可能满足不了程序需求;如果静态数组定义的太大,又浪费内存空铅旦间。
所以动态数组的优点就是自己按需索取,需要多大的数组就分配多少内存空间。比较麻烦的就是需要注意分配和释放的过程,防止内存泄露。
内存都需要分配,用户无权对不属于程序的内存进行操作。定义静态数组时,编译器已经同时给静态数组分配了内存空间,因为大小已知。而动态数组必须用户自己分配,因为只让激档有程序开始执行后,才能确定需要多大内存,也只有确定了大小才能向系统申请内存空间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式