18.动态数组_动态分配内存与释放内存
#include <stdio.h> #include <stdlib.h> #include <unistd.h> //1.静态数组 int i_arr1[3] = {1, 2, 3}; int size = 3; int main() { //创建数组的三种方法 /*1.静态数组 特点:1.用常量表达式表示数组长度 2.适用于静态内存和自动内存(可在函数内外定义) */ int i_arr1[3] = {1, 2, 3}; /*2.变长数组 特点:1.用变量表达式表示数组长度 2.只能在自动内存中使用(只能定义在函数内部) 3.不能在声明数组是对数组初始化 4.不能被static和extern修饰 */ int i_arr2[size] ; i_arr2[0] = 1; /*3.动态数组-malloc 特点:1.不会为对象做初始化 */ int * ipt; ipt = malloc(size * sizeof(int)); ipt[0] = 99; printf("malloc分配的内存:%d===%d\n", *ipt, *(ipt+1) ); /*4.动态数组-calloc 特点:1.会为对象做初始化,初始化为0 */ int * ipt2 = calloc(3,sizeof(int)); printf("calloc分配的内存:%d===%d\n", *ipt2, *(ipt2+1) ); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界