内存申请的几种方式

栈内存出了方法就会回收。
申请方式
alloca
堆内存申请方式

malloc(biyte位内存)
calloc(bitye,字节)

申请40m 10241024=1m 110=10 10*4=40M
malloc(1024*1024*10*sizeof(int))
等于calloc(1024*1024,sizeof(int))

realloc(p,size);
在原来的地址分配,如果足够没有被其他占用那么直接连续从原来的p地址开始分配 往后分配,否则会新开辟一块内存。

感受内存

#include<stdio.h>

void main() {
    int i = 90;
    printf("tes memory\n");
    int b = 1024;
    int kb = b * 1024;
    int m = kb * 1024;//1024*1024*1024 个kb
    int gb = m * 1; //2g 申请不了
    int* p= malloc(gb);//申请不能超过1g,否则测试失败了 返回nul
    if (p != NULL) {
        printf("我申请了内存%d m 地址是%#x\n ,", gb /1024/1024, &p);
    }
    else {
    printf("申请了内存%d m 失败,地址是%#x\n ,", gb /1024/1024,&p);

    }

    getchar();// 暂停
}

感受内存的值

image.png

https://blog.csdn.net/shuaishuai80/article/details/6140979

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C语言中内存分配 在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是...
    一生信仰阅读 1,198评论 0 2
  • 前言 C语言作为一门应用途广泛、功能强大、使用灵活的面向过程式编程语言。既可用于编写应用软件,又能用于编写系统软件...
    老板娘来盘一血阅读 13,048评论 32 83
  • 首先我们来科普一下: 什么是堆?说到堆,又忍不住说到了栈!什么是 栈?1、什么是堆:堆是大家共有的空间,分全局堆和...
    Xiho丶阅读 1,281评论 0 1
  • 还先说说C语言的内存分配 1.栈区(stack):自动分配,释放内存,静态内存,就存于栈区 windows下,栈内...
    贝克街的猫大哥呀阅读 411评论 0 0
  • 很想出来走走,想出来吹吹风,坐在路边,或小店喝杯果汁鸡尾酒,无奈已经晚上11点多,在这个小城路上都没什么人。独自在...
    夏季的栀子花阅读 312评论 0 0