C语言中的内存是如何分配

内存分配简画

在这里插入图片描述
在这里插入图片描述

动态内存分配

1、数组在栈上开辟空间,数组的下标必须是常量,也就是确定值。数组的大小在编译过程中就已经确定了,使用内存时只有在运行中才能确定需要多少。
2、
(1)空间在不同需求下,可能需要不断调整空间大小,导致代码的可扩展性下降;
(2)有可能因为空间划分不合理可能导致空间浪费;
(3)一般在栈上,能有一次有效分配的空间是有限的;
所以我们需要“动态内存管理”:
(1)让我们能够在程序运行期间来决定开辟空间的大小;
(2)有效使用空间,满足不同需求;
(3)堆空间大于栈空间。
3、
*动态内存管理 — 堆空间
void malloc (size_t , size):在堆上申请空间(空间连续)

栈空间:自动申请自动释放;不需要用户进行内存管理
堆空间:需要程序员自己申请(malloc)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值