C语言内存四区

常量区

一般是算在全局静态区,常量区的内容是不能更改的,举个例子


所以一定要注意这个问题,否则很容易会让程序挂掉


全局静态区

全局变量和所有的静态变量都在这个区内,很好理解


栈区

一般我们定义的变量,只要不是malloc 或者 new 出来的都在栈区,栈区的容量很小,如果在栈区存的东西过多会导致栈溢出


堆区

c语言使用的是malloc ,calloc,relloc   切记:使用完后要即使free 否则会造成内存泄漏

我用一段代码来表示三种方法的不同


如果我们想分配动态数组类似于下面,想从键盘输入数组的长度,这样会报错


如果使用指针malloc内存就可以动态分配数组

int a = 0;
scanf("%d", &a);
int *arrs = (int *)malloc(sizeof(int)*a);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值