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

devtools/2024/12/22 11:29:57/

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

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

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/devtools/120457.html

相关文章

关于git stash指令在切换到另一个分支处理紧急任务的场景使用

使用场景 临时保存更改&#xff1a;当你正在进行一些工作&#xff0c;但需要切换到另一个分支或处理其他任务时&#xff0c;可以使用 git stash 将当前的更改暂存起来。恢复更改&#xff1a;完成其他任务后&#xff0c;可以使用 git stash pop 将之前暂存的更改恢复到工作目录…

【Linux进程间通信】Linux匿名管道详解:构建进程间通信的隐形桥梁

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;Linux “ 登神长阶 ” &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀Linux进程间通信 &#x1f4d2;1. 进程间通信介绍&#x1f4da;2. 什么是管道&#x1f4dc;3…

电路学习——反激电源(2024.08.28)

参考链接1: XXX 在此感谢各位前辈大佬的总结&#xff0c;写这个只是为了记录学习大佬资料的过程&#xff0c;内容基本都是搬运的大佬博客&#xff0c;觉着有用自己搞过来自己记一下&#xff0c;如果有大佬觉着我搬过来不好&#xff0c;联系我删。 电路学习——反激电源&#xf…

yolo自动化项目实例解析(七)自建UI--工具栏选项

在上一章我们基本实现了关于预览窗口的显示&#xff0c;现在我们主要完善一下工具栏菜单按键 一、添加任务ui 先加个ui页面&#xff0c;不想看ui的复制完这个文件到ui目录下转下py直接从第二步开始看 vi ui/formpy.ui <?xml version"1.0" encoding"UTF-8&q…

Thinkphp/Laravel基于vue的实验室上机管理系统

目录 技术栈和环境说明具体实现截图设计思路关键技术课题的重点和难点&#xff1a;框架介绍数据访问方式PHP核心代码部分展示代码目录结构解析系统测试详细视频演示源码获取 技术栈和环境说明 采用PHP语言开发&#xff0c;开发环境为phpstudy 开发工具notepad并使用MYSQL数据库…

57 长短期记忆网络(LSTM)_by《李沐:动手学深度学习v2》pytorch版

系列文章目录 文章目录 系列文章目录长短期记忆网络&#xff08;LSTM&#xff09;门控记忆元输入门、忘记门和输出门候选记忆元 (相当于RNN中计算 H t H_t Ht​)记忆元隐状态 从零开始实现初始化模型参数定义模型训练和预测 简洁实现小结练习 长短期记忆网络&#xff08;LSTM&a…

Spring Boot电商开发:购物商城系统

第2章 关键技术简介 2.1 Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xf…

D. Determine Winning Islands in Race (cf div2,dp、图论最短路)

D. Determine Winning Islands in Race 思路: bfs找到E到达每个点的最短时间t[i]。 如果E要超过B&#xff0c;那么一定要借助辅助桥&#xff0c;从而获胜。 假设有u->v的辅助桥&#xff0c;E能通过这个桥超过B的条件是: s>u 且 t[v] < v-s 即 s的取值要为[u1,v-t[v]-…