当前位置: 首页 > article >正文

//动态内存分配

//动态内存分配
//(常用)malloc (分配几个内存) 全称:memory allocation 申请连续的空间
//calloc contiguous allocation 申请空间+数据初始化  realloc(几个,单个类型的大小)
//realloc() re-allocation 修改空间大小 realloc(指针,修改之后的大小)
//free() 释放内存
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int* p = malloc(10 * sizeof(int));//返回内存首地址
    
    printf("%p\n",p);//内存首地址
    printf("------------------------\n");
    for (int i = 0; i < 10; i++)
    {
        /**(p + i) = i * 10;
        printf("%d\n", *(p + i));*/
        p[i] = i * 10;
        printf("%d\n", p[i]);
    }
    printf("------------------------\n");
    int* pp = calloc(10, sizeof(int));
    for (int i = 0; i < 10; i++)
    {
        printf("%d\n", pp[i]);
    }
    printf("------------------------\n");
    //扩容 
    realloc(p,20 * sizeof(int));
    for (int i = 0; i < 20; i++)
    {
        printf("%d\n", p[i]);
    }

    printf("------------------------\n");
    //如果申请的空间不需要用了,一定要记得释放
    //释放空间,对结果无影响,在内存中做操作
    free(pp);
    return 0;
}


http://www.kler.cn/a/405883.html

相关文章:

  • 14 go语言(golang) - 并发编程goroutine和channel
  • 经典算法:查找与排序
  • 【虚幻引擎】UE5数字人开发实战教程
  • mongodb多表查询,五个表查询
  • 《Object类》
  • uniapp input限制输入负数,以及保留小数点两位.
  • 深度学习笔记之BERT(二)BERT精简变体:ALBERT
  • 红帽(RHCE)工程师认证
  • 【STM32】BKP备份寄存器RTC实时时钟PWR电源控制
  • 革新车间照明,分布式IO模块引领智能制造新纪元
  • 【C++之STL】摸清 string 的模拟实现(中)
  • resnet50,clip,Faiss+Flask简易图文搜索服务
  • 信息收集系列(六):路径爬取与目录爆破
  • Flutter踩坑记录(三)-- 更改入口执行文件
  • 【MySQL实战45讲笔记】基础篇——事务隔离
  • OCR的技术发展及OCR厂商
  • E - 11/22 Subsequence题解
  • nvm安装node遇到的若干问题(vscode找不到npm文件、环境变量配置混乱、npm安装包到D盘)
  • 图像预处理之图像滤波
  • React-useEffect的使用
  • 任务通知的本质(任务通知车辆运行) 软件定时器的本质(增加游戏音效)
  • MybatisPlus编写join查询
  • 记录下jekins新建个前端部署配置项
  • 单片机学习笔记 9. 8×8LED点阵屏
  • ffmpeg区域颜色覆盖
  • Echarts中柱状图完成横向布局