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.pswp.cn/news/901673.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901673.shtml
英文地址,請注明出處:http://en.pswp.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…