C语言的动态分配内存中所谓的“动态”体现在哪?

 我来答
火星人在奔跑
2015-10-09 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:109
采纳率:40%
帮助的人:30万
展开全部

  简单来说:动态体现在程序执行过程中而不是一开始就分配内存. 程序在开始执行的时候, 要处理的数据变量有两类:

  一类是一开始就分配内存的变量, 如下面定义的变量:

   int i;
  int a[100]; //

  另外一类就是动态分配内存的变量, 如需要在程序中利用一个100维的指针数组b:

   double *b; // 这里只是定义了一个double类型的指针变量, 但并没有为数组分配内存
  b=(double*)malloc(sizeof(double)*100); //当程序运行到这时才为数组b分配内存,这时程序占用的内存也相应的变大
  free(b); //如果b不需要了, 就可以释放内存, 节省空间. 常用free是编程的好习惯
追问
那是不是我可以重新分配所需要的内存?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式