c语言中什么是动态分配内存?

 我来答
琦炫郎冠
2020-04-20 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:31%
帮助的人:768万
展开全部
就是当你的程序中使用数组或者是指针变量的时候,为了能够合理地利用内存空间来进行程序运行,自动开辟内存在栈区,最后用完这些内存再将其回收的方式。动态内存分配不像静态内存分配方法那样需要预先分配存储空间,而是由系统根据程序的需要来分配,分配大小就是程序要求大小。
一般在C语言中使用malloc和free方法
头文件为malloc.h或者是stdlib.h,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伦夜古吉
2019-01-11 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:31%
帮助的人:839万
展开全部
c语言用函数malloc动态分配内存的,要用到指针,释放内存是free指针
malloc
原型:extern
void
*malloc(unsigned
int
num_bytes);
用法:#include
<malloc.h>
或#include<stdlib.h>
功能:用于向内存申请空间,分配长度为num_bytes字节的内存块
说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。
当内存不再使用时,应使用free()函数将内存块释放。
调用格式,
指针名=(指针所指对象的数据类型*)malloc(个数*sizeof(指针所指对象的数据类型)),其对应例子如下:
int
*p
=
(int
*)
malloc
(
n*
sizeof(int)
);
举例:
//
malloc.c
#include
<syslib.h>
#include
<malloc.h>
main()
{
char
*p;
clrscr();
//
clear
screen
p=(char
*)malloc(100);
if(p)
printf("Memory
Allocated
at:
%x",p);
else
printf("Not
Enough
Memory!\n");
if(p)
free(p);
getchar();
return
0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式