请教理论,为什么需要“动态”分配内存空间?
1个回答
展开全部
我举例子和你说下吧:
我也刚刚学C++,对其理解也不是很深刻,希望对你有用。
节省资源:
比如说,当一个程序,它可以处理很多东西,
1,
可以处理一个五万人的学校的所有学生的资料。
2,
可以处理一个几十人的小班级。
1)如果你用静态的分配,比如说,数组。当你知道要处理这些问题的时候,你需要定义一个50000
长度的数组才能解决问题。
这时候,当你用这个程序去处理班级资料。这里分配的大量的内存地址都会造成了浪费。
2)你要处理50000人以上的学校的资料,又会出现分配不足的问题。需要重新修改代码。(这就是很麻烦的事情了)
这个在C++上叫溢出。
3)使用动态分配内存的好处。
动态的话,就是你使用多少,就用多少。
根据你输入的数据大小来分配内存。
比如说,这个程序处理50人的小班级,则会分配50个空间。
当增加一个人的时候,则程序就能自动在后面再加一个空间。
来给你使用。
这样优点如下:
1,不会造成浪费,基本上都是有多少用多少。
2,能够随时增加,减少。
程序的灵活性更高。也不会出现分配不足的问题。
专业语言不怎么清楚,希望对你理解不会造成太大的影响。
我也刚刚学C++,对其理解也不是很深刻,希望对你有用。
节省资源:
比如说,当一个程序,它可以处理很多东西,
1,
可以处理一个五万人的学校的所有学生的资料。
2,
可以处理一个几十人的小班级。
1)如果你用静态的分配,比如说,数组。当你知道要处理这些问题的时候,你需要定义一个50000
长度的数组才能解决问题。
这时候,当你用这个程序去处理班级资料。这里分配的大量的内存地址都会造成了浪费。
2)你要处理50000人以上的学校的资料,又会出现分配不足的问题。需要重新修改代码。(这就是很麻烦的事情了)
这个在C++上叫溢出。
3)使用动态分配内存的好处。
动态的话,就是你使用多少,就用多少。
根据你输入的数据大小来分配内存。
比如说,这个程序处理50人的小班级,则会分配50个空间。
当增加一个人的时候,则程序就能自动在后面再加一个空间。
来给你使用。
这样优点如下:
1,不会造成浪费,基本上都是有多少用多少。
2,能够随时增加,减少。
程序的灵活性更高。也不会出现分配不足的问题。
专业语言不怎么清楚,希望对你理解不会造成太大的影响。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询