
请教理论,为什么需要“动态”分配内存空间?
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,能够随时增加,减少。
程序的灵活性更高。也不会出现分配不足的问题。
专业语言不怎么清楚,希望对你理解不会造成太大的影响。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |