基本數據指針的解讀-C++

1、引言

筆者認為對于學習指針要弄清楚如下問題基本可以應付大部分的場景:
① 指針是什么?
② 指針的類型是什么?
③ 指針指向的類型是什么?
④ 指針指向了哪里?

2、如何使用指針

使用時的步驟如下:
① 聲明指針變量;
② 初始化;
③ 訪問指針指向的數據。
基于這個三個步驟,筆者將對整型數值類型的數據進行舉例說明。

	//-----------------聲明指針變量int* prt_a = nullptr;//聲明一個整型數指針變量,nullptr—空指針//-------------初始化指針變量,采用指向已有變量的方式-----int a = 10; //定義整型數值常量prt_a = &a;//指針指向了變量a的地址&a//---------訪問指針數據int my_test = 0;my_test = *prt_a;cout << "a = " << a << endl;cout << "my_test = " << my_test << endl;cout << "*prt_a = " << *prt_a << endl;//----------訪問并修改指針指向的數據*prt_a = 20;cout << "a = " << a << endl;cout << "*prt_a = " << *prt_a << endl;

運行結果如下:
在這里插入圖片描述
代碼解讀:
① 聲明一個整型數變量a,它的值為10,它的地址是&a,它在計算機上的執行原理是:在物理上,內存地址為&a的內存處,存放了 (int)10的編碼,通過對該內存處的編碼解碼就可以得到(int)10;
② 聲明一個指針變量prt_a,它指向了變量a的地址;
③ 通過解引用*prt_a,就可以獲取指針變量指向的數據,也就是a的值,int(10);
④ 將指針變量指向的數據賦值給整型變量my_test ;
⑤ 將指針變量指向的數據修改為20,實際上也就是將整型變量a的值修改為20。

3、總結:
以上述案例來回答引言中的幾個問題:
① 指針變量prt_a就是a的地址,也就是變量a存放在物理內存上的位置,把內存比作電影院的座位,指針變量就是座位的序號;
② 指針prt_a 的指針類型是int*,所以它指向的數據類型也必須是int;
③ 指針prt_a指向的數據類型是int;
④ 指針prt_a指向的是變量a的地址。

4、注意事項

① 兩個指針不能進行加法運算,這是非法操作,因為進行加法后,得到的結果指向一個不知所向的地方,而且毫無意義
② 指針的值是XX,相當于說該指針指向以XX為首地址的一片區域,這片區域的大小由指針指向的類型決定;
③ &是取地址運算符,*p 的結果是p 所指向的東西。

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

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

相關文章

【Elasticsearch】suggest_mode

suggest_mode 是 Elasticsearch 中 term suggester 和 phrase suggester 的一個參數&#xff0c;用于控制建議的生成方式。它有以下三種模式&#xff1a; 1. missing&#xff1a;默認值。僅對索引中不存在的詞項提供建議。如果輸入的詞已經在索引中存在&#xff0c;則不會生成建…

九、【前后端聯調篇】Vue3 + Axios 異步通信實戰

九、【前后端聯調篇】Vue3 Axios 異步通信實戰 前言準備工作第一步&#xff1a;安裝 Axios第二步&#xff1a;封裝 Axios 實例第三步&#xff1a;創建 API 服務模塊第四步&#xff1a;在組件中調用 API第五步&#xff1a;測試前后端聯調 總結 前言 在 Web 開發中&#xff0c;…

【計算機網絡】傳輸層TCP協議——協議段格式、三次握手四次揮手、超時重傳、滑動窗口、流量控制、

&#x1f525;個人主頁&#x1f525;&#xff1a;孤寂大仙V &#x1f308;收錄專欄&#x1f308;&#xff1a;計算機網絡 &#x1f339;往期回顧&#x1f339;&#xff1a; 【計算機網絡】傳輸層UDP協議 &#x1f516;流水不爭&#xff0c;爭的是滔滔不息 一、TCP協議 UDP&…

php:5.6-apache Docker鏡像中安裝 gd mysqli 庫 【親測可用】

Dockerfile 代碼如下&#xff1a; FROM php:5.6-apache# 使用Debian歸檔源 RUN echo "deb http://archive.debian.org/debian stretch main contrib non-free" > /etc/apt/sources.list && \echo "deb http://archive.debian.org/debian-security s…

動態設置微信小程序頁面標題(navigationBarTitleText屬性)

前言&#xff1a; 最近在公司進行小程序研發的時候&#xff0c;產品給出了一個動態加載頁面標題的需求&#xff0c;經過調研之后將結果在這里與各位伙伴進行分享。 代碼展示&#xff1a; 在.json文件中進行初始配置&#xff1a; { "usingComponents": {}, &q…

從0開始學習R語言--Day12--泊松分布

今天我們來看一個很經典的回歸模型&#xff1a;泊松分布。 泊松分布 我們一般會把泊松分布用于預測問題&#xff0c;比如想知道成年人每天接到的騷擾電話次數&#xff0c;醫院每天的急診病人等。但在一些方面&#xff0c;跟我們想的會有出入。例如你不能將其應用在預測下周你的…

k8s中kubeSphere的安裝使用+阿里云私有鏡像倉庫配置完整步驟

一、實驗目的 1、掌握kubeSphere 的安裝部署 2、掌握kubesphere 使用外部鏡像倉庫&#xff1b; 2、熟悉圖像化部署任務&#xff1a;產生pod---定義服務--驗證訪問 本次實驗旨在通過 KubeSphere 平臺部署基于自定義鏡像&#xff08;nginx:1.26.0 &#xff09;的有狀態副本集…

STM32單片機簡介

1.基本情況 STM32單片機正如其名是32位微控制器&#xff0c;相較于51單片機的8位微控制器&#xff0c;性能會更好&#xff0c;但學習難度也會提高。 在stm32單片機中內核時核心部分&#xff0c;是ARM公司設計的&#xff0c;其在stm32單片機中占據極為重要的地位。(程序指令的…

GESP】C++一級考試大綱知識點梳理(1)

計算機基礎和操作系統 GESP C++一級官方考試大綱中,除可通過編碼掌握的Dev C++開發工具的使用和C++編程基礎語法知識外(考綱2-13),還涉及計算機基礎知識的要求(考綱1): (1)了解計算機的基本構成(CPU,內存,I/O 設備等) ,了解 Windows、Linux等操作系統基本概念和常…

淺談 JavaScript 性能優化

文章目錄 概要一、代碼執行優化1. 減少全局變量訪問2. 避免不必要的計算3. 優化循環操作 二、內存管理優化1. 減少內存泄漏2. 對象池與內存復用 三、渲染性能優化1. 避免強制同步布局2. 減少 DOM 操作3. 優化動畫與合成 四、網絡加載優化1. 代碼壓縮與 Tree Shaking2. 按需加載…

mongodb nosql數據庫筆記

MongoDB 簡介 MongoDB 是一個開源的 NoSQL 數據庫&#xff0c;采用文檔存儲模型&#xff08;BSON 格式&#xff0c;類似 JSON&#xff09;&#xff0c;支持高靈活性、水平擴展和高性能的數據操作。與傳統關系型數據庫&#xff08;如 MySQL&#xff09;不同&#xff0c;MongoDB…

Flutter實現不規則瀑布流布局拖拽重排序

因為業務&#xff0c;所以需要用flutter去實現一種不規則圖形的瀑布流&#xff0c;但是同時需要支持拖拽并重新排序。效果類似如下。 查詢過現有的插件&#xff0c;要么是僅支持同樣大小的組件進行排序&#xff0c;要么就是動畫效果不是很滿意&#xff0c;有點死板&#xff0c;…

微信小程序(uniapp)實現騰訊云 IM 消息撤回

uniapp 實現騰訊云 IM 消息撤回功能實戰指南 一、功能實現原理 騰訊云 IM 的消息撤回功能通過 消息修訂&#xff08;Message Revision&#xff09; 機制實現&#xff0c;核心流程如下&#xff1a; 發送方調用撤回 API 刪除指定消息云端生成撤回通知消息&#xff08;類型為 T…

AI入門示例

市面上有很多AI大模型&#xff0c;這里以 智譜的大模型 為示例 1.先要注冊智譜AI開放平臺 2.注冊成功后&#xff0c;會贈送3個月的免費額度&#xff0c;如下 3.然后去控制臺&#xff0c;創建一個API KEY 4.接著就可以開始寫代碼了 提前導入包&#xff1a; openai 示例1&…

【數據結構】單鏈表練習

1.鏈表的中間節點 https://leetcode.cn/problems/middle-of-the-linked-list/description/ 用快慢指針來解決 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* middleNode(struct ListNode* he…

嘗鮮純血鴻蒙,華為國際版本暫時不支持升級。如mateX6 國際版?為什么不支持?什么時候支持?

一&#xff1a;mateX6 國際版支持鴻蒙嗎&#xff1f; 不支持 二&#xff1a;華為國際版支持鴻蒙嗎&#xff1f; 不支持 三&#xff1a;華為國際版什么時候支持&#xff1f; 2025年預期可以支持。請耐心等待。 三&#xff1a;國際版為什么不支持&#xff1f; EMUI 采用AO…

Spring Boot的啟動流程,以及各個擴展點的執行順序

目錄 1. 初始化階段執行順序 1.1 Bean的構造方法&#xff08;構造函數&#xff09; 1.2 PostConstruct 注解方法 1.3 InitializingBean 的 afterPropertiesSet() 1.4 Bean(initMethod "自定義方法") 2. 上下文就緒后的擴展點 2.1 ApplicationContext 事件監聽…

刀具問題討論

1 刀具的問題概述 問題描述 一道工序用自動化車床連續加工某種零件&#xff0c;由于刀具損壞等原因該工序會出現故障&#xff0c;其中刀具損壞故障占95%, 其它故障僅占 5%。工序出現故障是完全隨機的, 假定在生產任一零件時出現故障的機會均相同。工作人員通過檢查零件來確定…

vite配置一個css插件

vite.config.js的plugins執行函數 該例子只是替換一些css,具體內容不重要,主要看形參的運用 // vite-plugin-css.js export default function cssPlugin() {return {name: vite-plugin-css-post, // 插件的名字&#xff0c;Vite 插件必須有名字enforce: post, // 設定插件執…

?1.1.1 按位與運算替代求余運算優化場景

在計算機編程中&#xff0c;使用按位與運算&#xff08;&&#xff09;替代求余運算&#xff08;%&#xff09;可以提高效率的特殊場景是&#xff1a;當除數是 2 的整數次冪&#xff08;即 ( b 2^n )&#xff0c;其中 ( n ) 為自然數&#xff09;時。例如&#xff0c;( b …