C++的結構體指針

結構體變量和結構體指針的區別

特性結構體變量結構體指針
存儲內容結構體的實際數據內存地址
內存開銷結構體總大小固定4/8字節(指針大小)
成員訪問運算符.->
函數傳參時的行為值拷貝(新副本)地址傳遞(操作原數據)
修改效果不影響原結構體直接影響原結構體

?


?

結構體指針作為函數參數的優勢與注意事項

  • 當需要跨函數修改原結構體或結構體較大時,應使用指針傳遞。

  • 結構體指針通過內存地址直接操作原始數據,效率更高。

  • 指針訪問成員時必須確保指針已正確初始化(指向有效內存)。

?


?

示例

  • 代碼
    #include <iostream>
    #include <string>
    using namespace std;struct Book{string title;double price;int value;
    };int main(){Book a = {"三國演義",39.99,100};Book b = a;cout << a.title << ' ' << a.price << ' ' << a.value << endl;cout << b.title << ' ' << b.price << ' ' << b.value << endl;    cout << endl;b.title = "水滸傳";cout << a.title << ' ' << a.price << ' ' << a.value << endl;cout << b.title << ' ' << b.price << ' ' << b.value << endl;    cout << endl;Book* p = &a;p->title = "紅樓夢";cout << a.title << ' ' << a.price << ' ' << a.value << endl;cout << b.title << ' ' << b.price << ' ' << b.value << endl;    cout << p->title << ' ' << p->price << ' ' << p->value << endl;return 0;
    }
    
  • 運行
    三國演義 39.99 100
    三國演義 39.99 100三國演義 39.99 100
    水滸傳 39.99 100紅樓夢 39.99 100
    水滸傳 39.99 100
    紅樓夢 39.99 100
    

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918255.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918255.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918255.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

pdf文件轉word免費使用幾個工具

在線工具&#xff08;無需安裝&#xff09; Smallpdf ? 核心功能&#xff1a; 網頁端直接操作&#xff0c;支持 PDF 與 Word 格式互轉 免費用戶每日限 2 次轉換&#xff08;免注冊&#xff09; 自動清除服務器文件&#xff0c;確保隱私安全 &#x1f517; 訪問鏈接&#xff1a…

Vue3 組件化開發

文章目錄前言組件化開發底部菜單 TabMenu父子組件相互傳數據父傳子&#xff1a;自定義屬性子傳父&#xff1a;自定義事件父子組件互傳案例插槽 slot多個插槽總結組件化開發總結Vue組件的基本組成子組件使用的三個步驟父子組件相互傳遞數據前言 提示&#xff1a;這里可以添加本…

服務器硬件電路設計之I2C問答(二):I2C總線的傳輸速率與上拉電阻有什么關系?

I2C 總線傳輸速率與上拉電阻關系密切。上拉電阻阻值決定總線電平切換速度&#xff1a;電阻越小&#xff0c;充放電電流越大&#xff0c;信號邊沿更陡&#xff0c;支持更高速率&#xff08;如 400kHz 快速模式&#xff09;&#xff1b;電阻過大則切換慢&#xff0c;限制速率&…

大語言模型提示工程與應用:LLMs文本生成與數據標注實踐

提示詞應用實踐 學習目標 本課程通過LLMs生成情感分析樣本和標注葡萄9品鑒數據&#xff0c;展示了其文本生成和數據標注能力。同時&#xff0c;利用PAL模型解決日期計算問題&#xff0c;學習了LLMs與編程運行時結合實現復雜推理的方法&#xff0c;為自然語言處理應用提供了實…

node.js 零基礎入門

Node.js 零 基礎入門與核心語法 適用對象&#xff1a;完全沒接觸過 Node.js 的同學 目標&#xff1a;從 0 到能寫 CLI、小型 HTTP 服務、文件腳本、調用系統/網絡資源 目錄 什么是 Node.js安裝與運行運行腳本與 REPL模塊體系&#xff1a;CommonJS 與 ES Modules基礎語法在 Node…

《Day3-PyTorch 自動微分入門:從計算圖到梯度下降的實踐指南》

八、自動微分自動微分模塊torch.autograd負責自動計算張量操作的梯度&#xff0c;具有自動求導功能。自動微分模塊是構成神經網絡訓練的必要模塊&#xff0c;可以實現網絡權重參數的更新&#xff0c;使得反向傳播算法的實現變得簡單而高效。1. 基礎概念張量Torch中一切皆為張量…

apache cgi測試

test.cgi #!/bin/sh echo "Content-type: text/html" echo "" echo "<h1>Hello from a Mac CGI script!</h1>" echo "<p>Current time is: $(date)</p>"?% 放置目錄 /opt/homebrew/Cellar/mapserver/8.4.0_1…

力扣 30 天 JavaScript 挑戰 第二題筆記

這道題是涉及知識–閉包 1. 閉包定義以及相關知識點 官方定義為&#xff1a;在 JavaScript 中&#xff0c;函數具有對在相同作用域以及任何外部作用域中聲明的所有變量的引用。這些作用域被稱為函數的 詞法環境。函數與其環境的組合被稱為 閉包。 簡單理解&#xff1a;內層函數…

OpenAI GPT-5 深度解析:API Key定價與ChatGPT(Free, Plus, Pro)用戶的區別

前言&#xff1a;兩年等待&#xff0c;只為這一躍 在科技圈長達兩年的屏息期待與無盡猜想之后&#xff0c;2025年8月8日北京時間凌晨&#xff0c;OpenAI終于揭開了其新一代旗艦模型——GPT-5的神秘面紗。這不僅僅是一次常規的產品迭代&#xff0c;更被整個行業視為一塊試金石&a…

ClickHouse集群部署實踐---3分片2副本集群

ClickHouse集群部署實踐—3分片2副本集群 未完待續。。。 喜歡的先點贊收藏&#xff01;&#xff01; 由于我們準備部署的是3分片2副本的集群&#xff0c;現在來解釋一下配置參數的意思&#xff1a; shard標簽代表分片的意思&#xff0c;如上圖我們有3個分片&#xff0c;clickh…

Unity_VR_Pico開發手冊

文章目錄一、配置開發環境1.下載PICO Unity Integration SDK2.安裝 Unity 編輯器&#xff08;添加安卓開發平臺模塊&#xff09;3.導入下載的SDK4.項目配置和切換開發平臺5.導入 XR Interaction Toolkit6.安裝 Universal RP(通用渲染管線)并設置 (選做)二、調試環境搭建&#x…

Linux系統之Docker命令與鏡像、容器管理

目錄 一、 Docker命令 docker命令幫助 docker常用子命令&#xff08;必須背會&#xff09; docker管理子命令(暫時不需要) swarm集群管理子命令&#xff08;不需要&#xff09; docker容器管理子命令&#xff08;必須背會&#xff09; docker全局選項 二、 docker鏡像管…

比亞迪第五代DM技術:AI能耗管理的深度解析與實測驗證

比亞迪第五代DM技術&#xff1a;AI能耗管理的深度解析與實測驗證 &#xff08;面向新能源汽車研發/測試工程師&#xff09;目錄 技術背景與核心突破AI能耗管理系統架構解析關鍵技術創新點 2.1 動力域三腦合一控制2.2 全溫域熱管理協同2.3 導航數據深度耦合 實測數據與場景驗證 …

sqli-labs通關筆記-第37關POST寬字符注入(單引號閉合 手工注入+腳本注入 3種方法)

目錄 一、寬字符注入 二、sqlmap之unmagicquotes 三、addslashes與mysqli_real_escape_string 四、源碼分析 1、代碼審計 2、SQL注入安全性分析 五、滲透實戰 1、進入靶場 2、正確用戶名密碼探測 3、手工注入&#xff08;方法1&#xff09; &#xff08;1&#xff…

Kubernetes 集群密鑰與機密管理方案對比分析:Vault、Sealed Secrets 與 AWS KMS

Kubernetes 集群密鑰與機密管理方案對比分析&#xff1a;Vault、Sealed Secrets 與 AWS KMS 在容器化與編排環境中&#xff0c;機密&#xff08;Secrets&#xff09;管理是確保應用安全性的重要環節。對于 Kubernetes 集群而言&#xff0c;內置的 Secret 對象存在明文存儲的風…

Java基礎-TCP通信單服務器接受多客戶端

目錄 案例要求&#xff1a; 實現思路&#xff1a; 代碼&#xff1a; User類&#xff1a;用戶端 Client類&#xff1a;服務端 ServerReader類&#xff1a;多線程通信類 總結&#xff1a; 案例要求&#xff1a; TCP通信下,正常的寫法只能單個服務器和單個客戶端進行通信&a…

electron:vue3+vite打包案例

1、安裝electron 首先設置鏡像源&#xff0c;否則安裝會非常非常慢。 打開npm的配置文件。 npm config edit 修改配置項。 registryhttps://registry.npmmirror.com electron_mirrorhttps://cdn.npmmirror.com/binaries/electron/ electron_builder_binaries_mirrorhttp…

traceroute命令調試網絡

文章目錄 @[toc] 一、核心原理與參數解析 1. 工作原理 2. 關鍵參數 二、六大運維場景實戰 場景1:內網服務器無法訪問公網 場景2:跨國訪問延遲高(電商業務卡頓) 場景3:VPN分流異常(流量泄露) 場景4:檢測DNS劫持 場景5:防火墻規則驗證 場景6:云服務跨區延遲優化 三、高…

自己本地搭建的服務器怎么接公網?公網IP直連服務器方法,和只有內網IP直接映射到互聯網

? 你是不是也遇到過這樣的問題&#xff1a;在家里或者公司搭建了一個服務器&#xff0c;但是不知道怎么通過公網IP直接訪問它&#xff1f;別急&#xff0c;其實很簡單&#xff01;今天就給大家分享幾種方法&#xff0c;手把手教你如何實現公網IP直連服務器&#xff0c;和無公網…

MATLAB中文亂碼的解決方法

文章目錄問題描述解決方法問題描述 對于matlab腳本輸出亂碼&#xff1a; ‘?&#xfffd;&#xfffd;&#xfffd;&#xfffd;Ф&#xfffd;&#xfffd;&#xfffd;&#xfffd;?&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;й&#xfffd;&#xff…