C++之 动态数组

一、新建一个动态数组 

 数组名下标操作符[]的组合可以被替换成一个指向该数组的基地址的指针对应的指针运算

int a[20];
int *x = a;

指针变量 x 指向数组 a 的地址, a[0] 和 *x 都代表数组的第一个元素。

于是,根据指针运算原则, a[1] 等价于 *(x+1)、 a[2] 等价于 *(x+2) ,以此类推。

反过来也成立,

  • 把一个数组声明传递给 new 语句将使它返回一个该数组基类型的指针。
  • 把数组下标操作符和该指针变量的名字搭配使用就可以像对待一个数组那样使用 new 语句为这个数组分配的内存块了。

例如:

int *x = new int[10];

• 可以像对待一个数组那样使用指针变量 x :

  •  x[1] = 45;
  •  x[2] = 8;

• 当然,也可以用一个变量来保存该数组的元素个数:

  •  int count = 10;
  • int *x = new int[count];  

案例:

写一个程序,能够在程序运行时让用户输入一个值自行定义数组的长度。

#include<iostream>
#include<string>int main()
{unsigned int count=0;std::cout<<"请输入数组的元素个数:\n";std::cin>>count;int *x=new int[count];for(int i=0;i<count;i++){x[i]=i;}for(int i=0;i<count;i++){std::cout<<"x["<<i<<"]的值是:"<<x[i]<<"\n"; }return 0;
}

 

二、 删除一个动态数组 

在 delete 保留字的后面加上一对方括号:

delete [] x;

未完待续。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu1804服务器开启ftp,局域网共享特定文件给匿名用户

要在 Ubuntu 18.04 上设置一个 FTP 服务器&#xff0c;满足以下要求&#xff1a; 允许匿名登录&#xff08;无需账号密码&#xff09;。指定分享特定目录下的文件。只允许只读下载。 可以使用 vsftpd&#xff08;Very Secure FTP Daemon&#xff09;来实现。以下是详细步骤&a…

mcp和API区别

MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09;与传统API&#xff08;Application Programming Interface&#xff0c;应用程序编程接口&#xff09;在技术架构、集成方式和应用场景等方面存在显著差异&#xff0c;以下是主要区别的总结&#x…

高版本Android (AIDL HAL) 使用HIDL方法

目录 修改步骤和编译方法 注意事项 Android 11 引入了使用 AIDL 实现 HAL 的功能。 后续Android新版本,HAL默认切到了使用AIDL. 因此当导入旧HIDL实现方式时,需要做一些修改。 1.将HAL HIDL模块拷贝到相应目录,进行编译 source build/envsetup.sh lunch xxx mmm 模块路径 1.…

基于redis 实现我的收藏功能优化详细设计方案

基于redis 实现我的收藏功能优化详细设计方案 一、架构设计 +---------------------+ +---------------------+ | 客户端请求 | | 数据存储层 | | (收藏列表查询) | | (Redis Cluster) | +-------------------…

学习笔记 - Swfit 6.1 - 语法概览

获取版本号 swift -versionHello world print("Hello, world!")末尾不需要分号 值 常量(let),变量(var) var myVariable 42 myVariable 50 let myConstant 42可以显式声明变量类型,若没有则隐式推断,类似下面的Double let implicitInteger 70 let implicit…

确保连接器后壳高性能互连的完整性

本文探讨了现代后壳技术如何促进高性能互连的电气和机械完整性&#xff0c;以及在规范阶段需要考虑的一些关键因素。 当今的航空航天、国防和医疗应用要求连接器能够提供高速和紧凑的互连&#xff0c;能够承受振动和冲击&#xff0c;并保持对电磁和射频干扰 &#xff08;EMI/R…

第IV部分有效应用程序的设计模式

第IV部分有效应用程序的设计模式 第IV部分有效应用程序的设计模式第23章:应用程序用户界面的架构设计23.1设计考量23.2示例1:用于非分布式有界上下文的一个基于HTMLAF的、服务器端的UI23.3示例2:用于分布式有界上下文的一个基于数据API的客户端UI23.4要点第24章:CQRS:一种…

学习笔记十四——一文看懂 Rust 迭代器

&#x1f300; 一文看懂 Rust 迭代器 &#x1f4da; 目录导航 什么是迭代器&#xff1f;为什么 Rust 到处都在用它&#xff1f;Rust 迭代器的底层逻辑是什么&#xff1f;适配器 vs 消费者&#xff1a;谁是主角&#xff1f;常见适配器&#xff1a;加工数据的全能工厂常见消费者…

QR轻量二维码生成系统PHP源码

源码介绍 基于PHP编写的二维码在线生成系统。只需点击几下就可以生成您的个人二维码&#xff01;上传您的徽标&#xff0c;选择自定义颜色&#xff0c;生成多种类型。选择一个图案并下载最终的qrcode。可用格式&#xff1a;.png&#xff0c;.svg 效果预览 源码获取 QR轻量二…

基于Spring MVC的客户端真实IP获取方案解析

文章目录 基于Spring MVC的客户端真实IP获取方案解析概述核心方法解析代码实现工作流程 IP获取优先级策略IP有效性验证异常处理与日志使用场景注意事项扩展建议 基于Spring MVC的客户端真实IP获取方案解析 概述 在Web应用开发中&#xff0c;准确获取客户端真实IP地址是常见的…

Idea集成AI:CodeGeeX开发

当入职新公司&#xff0c;或者调到新项目组进行开发时&#xff0c;需要快速熟悉项目代码 而新的项目代码&#xff0c;可能有很多模块&#xff0c;很多的接口&#xff0c;很复杂的业务逻辑&#xff0c;更加有与之前自己的代码风格不一致的现有复杂代码 更别提很多人写代码不喜…

Python(18)Python中JSON的妙用:详解序列化与反序列化原理及实战案例

目录 一、背景&#xff1a;为什么Python需要JSON&#xff1f;二、核心技术解析&#xff1a;序列化与反序列化2.1 核心概念2.2 类型映射对照表 三、Python操作JSON的四大核心方法3.1 基础方法库3.2 方法详解1. json.dumps()2. json.loads()3. json.dump()4. json.load() 四、实战…

【物联网】基于LORA组网的远程环境监测系统设计

基于LORA组网的远程环境监测系统设计 演示视频: 简介: 1.本系统有一个主机,两个从机。 2.一主多从的LORA组网通信,主机和两个从机都配备了STM32F103单片机与 LoRa 模块,主机作为中心设备及WIFI网关,负责接收和发送数据到远程物联网平台和手机APP,两个从机则负责采集数…

通过金融科技(Fintech)掌控财务:智能理财管理指南

李升伟 编译 在当今世界&#xff0c;科技几乎重塑了我们生活的方方面面&#xff0c;包括金钱的管理方式。金融科技&#xff08;Fintech&#xff09;让个人财务管理变得前所未有的便捷、高效和智能。从追踪支出到投资理财、提升信用评分&#xff0c;金融科技工具赋予个人掌控财…

html-css样式

1. 所有类型为文本的 元素的样式 指定所有类型为文本的 元素的样式 /* 文本框的样式 */ input[type"text"] { font-size: 25px;width: 80px; /* 文本框的宽度 */ padding: 25px; } font-size&#xff1a;字体大小 width&#xff1a;文本框宽度 padding&#…

【C语言基础】C++ 中的 `vector` 及其 C 语言实现详解

一、C 中的 vector&#xff1a;动态数组的核心特性 1. 基本概念 vector 是 C 标准模板库&#xff08;STL&#xff09;中的动态数组容器&#xff0c;支持自动扩容、高效元素访问和丰富的操作接口。其核心特性包括&#xff1a; 动态内存管理&#xff1a;自动调整容量&#xff0…

nvm切换node版本后,解决npm找不到的问题

解决方法如下 命令行查看node版本 node -v找到node版本所对应的npm版本 点击进入node版本 npm对应版本下载 点击进入npm版本 下载Windows 压缩包 下载完成后&#xff0c;解压&#xff0c;文件改名为npm 复制到你nvm对应版本的node_modules 下面 将下载的npm /bin 目录…

数据结构:最小生成树的普里姆算法和克鲁斯卡尔算法

对于一个带权&#xff08;假设每条边上的权均为大于零的实数&#xff09;连通无向图 G 中的不同生成树&#xff0c;其每棵树的所有边上的权值之和也可能不同&#xff1b;图的所有生成树中具有边上的权值之和最小的树称为图的最小生成树&#xff08;Minimal Spanning Tree&#…

Information-Theoretic Limits of Bistatic Integrated Sensing and Communication

摘要 双静态感知指的是发射器&#xff08;照亮目标&#xff09;和感知接收器&#xff08;估计目标状态&#xff09;在物理上分离的场景&#xff0c;这与发射和感知功能共存的单静态感知形成对比。在实际场景中&#xff0c;双静态感知可能需要应对系统约束&#xff0c;或者作为…

XCTF-web(四)

unserialize3 需要反序列化一下&#xff1a;O:4:“xctf”:2:{s:4:“flag”;s:3:“111”;} php_rce 题目提示rce漏洞&#xff0c;测试一下&#xff1a;?s/Index/\think\app/invokefunction&functioncall_user_func_array&vars[0]phpinfo&vars[1][]1 flag&#xff1…