(c++)在堆区创建一个数组并且访问与释放

embedded/2024/12/22 13:12:54/

在堆区创建一个数组,然后利用一个指针指向这个数组的首地址,通过这个指针来访问这个数组。

代码展示了三种赋值的方式:

1.直接利用数组访问赋值

2.利用循环结构(和1原理一样)

3.循环结构键盘输入赋值

然后输出这个数组。

在堆区创建数组的语法:对应的变量类型* 指针名=new 变量类型[数组长度]

如代码中的:

int* arr=new int[10];
    //new int[10]代表在堆区开辟一段10个长度的整型数组并且返回这个数组的首地址
    //int* arr=new int[10]  代表创建一个指针来指向这个首地址

释放堆区中的数组的语法:delete[] 指针名

如代码中的:

delete[] arr;

#include<iostream>
using namespace std;//在堆区创建数组
void CreatArrInHeap()
{int* arr=new int[10];//new int[10]代表在堆区开辟一段10个长度的整型数组并且返回这个数组的首地址//int* arr=new int[10]  代表创建一个指针来指向这个首地址//对这个数组赋值并输出arr[0] = 0;arr[1] = 1;cout <<"直接赋值后输出arr[0]="<< arr[0] << endl;cout << "直接赋值后输出arr[1]=" << arr[1] << endl << endl;//利用for循环赋值for (int i = 0; i < 10; i++){arr[i] = i+10;}for (int i = 0; i < 10; i++){cout << "循环结构重新赋值后输出arr[" << i << "]=" << arr[i] << endl;}cout << "键盘给数组赋值然后输出" << endl;system("pause");//利用for循环赋值for (int i = 0; i < 10; i++){cout << "请给arr[" << i << "]赋值:";cin >> arr[i];}cout << endl;for (int i = 0; i < 10; i++){cout << "键盘赋值后arr[" << i << "]=" << arr[i] << endl;}//释放数组要用delete[] 数组名delete[] arr;
}int main()
{CreatArrInHeap();system("pause");return 0;
}

运行结果:

点击任意键后开始重新手动给这个数组赋值

赋值中........


http://www.ppmy.cn/embedded/121062.html

相关文章

STM32重启源深度解析

文章目录 STM32重启源深度解析一、STM32重启概述二、硬件层面的重启源1、电源异常电压不稳定&#xff1a;电源供电不足&#xff1a; 2、复位电路故障复位引脚异常&#xff1a;复位电路设计不合理&#xff1a; 3、外部干扰电磁干扰&#xff1a;静电干扰&#xff1a; 三、软件层面…

墙绘艺术市场的数字化转型:SpringBoot案例

1 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。这样的大环境让那些止步不前&#…

奔驰EQS450suv升级增强AR抬头显示HUD案例分享

以下是奔驰 EQS450 SUV 升级增强版 AR 抬头显示的一般改装案例步骤及相关信息&#xff1a; 配件&#xff1a;通常包括显示屏、仪表模块、饰板等。 安装步骤&#xff1a; 1. 拆下中控的仪表。 2. 在仪表上预留位置切割出合适的孔位&#xff0c;用于安装显示器。 3. 将显示器…

C++ 部署深度学习模型的学习路线

随着深度学习模型在各行各业中的广泛应用&#xff0c;C 作为一门高效的系统编程语言&#xff0c;在深度学习模型的部署上具有极大的优势。相比 Python&#xff0c;C 在推理速度和资源管理方面表现更好&#xff0c;因此常被用于生产环境中的模型部署。然而&#xff0c;要使用 C …

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,1-1

文件下载与邀请翻译者 学习英特尔开发手册&#xff0c;最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册&#xff0c;会是一件耗时费力的工作。如果有愿意和我一起来做这件事的&#xff0c;那么&#xff…

postgresql|数据库|postgis编译完成后的插件迁移应该如何做(postgis插件最终章)

一、 本文的写作理由 postgis插件一般是编译安装&#xff0c;编译安装的原因是可以选择自己喜欢的版本&#xff0c;但编译的难度也是比较高的&#xff0c;因为有各种依赖&#xff0c;依赖之间还有依赖&#xff0c;非常容易形成依赖循环&#xff0c;因此&#xff0c;失败率是比…

基于Vue3内置的lodash函数库实现防抖节流

前言 防抖节流是可以说是一种优化组件性能的技巧&#xff0c;可以有效减少组件中的渲染次数和计算量&#xff0c;从而提高组件的响应速度和用户体验。在Vue3中可以使用lodash库中的debounce和throttle函数来分别实现防抖和节流。当然也可以自行设计实现防抖节流函数&#xff0…

JS进阶 1——作用域、解构、箭头函数

JS进阶 1——作用域、解构、箭头函数 1.作用域 局部作用域分为&#xff1a;函数作用域和块作用域 函数作用域&#xff1a;在函数内部声明的变量只能在函数内部被访问块作用域&#xff1a;被{ }包裹的代码成为代码块&#xff0c;代码块内部声明的变量外部将有可能无法访问 var声…