C++ 徹底搞懂指針(1)

當有人問起,什么是指針時,我會毫不猶豫地回答,指針變量存放的是地址!然后呢,好像也說不出什么了,今天就再來詳細看一下指針吧。

本文提綱如下:

    ?    指針變量

    ?    未初始化的指針

    ?    NULL

    ?    void指針

    ?    指針的指針

首先要明白幾點:

    ?    每個字節都有自己唯一的地址,就像門牌號一樣,根據地址可以準確地找到某個字節

    ?    如果知道一個變量的存儲地址,那么就可以根據這個地址得到這個變量的值。但是這很難,因為很難知道某個變量的具體地址,所以一般都是使用變量名字而不是地址來訪問內存的位置

    ?    變量名讓我們用更方便的方式記住地址,實際上,變量名和地址之間的對應關系是由編譯器來實現的,硬件仍然是通過地址訪問內存位置

    ?    除變量名之外,函數名、數組名、字符串名都是一樣的,都為我們提供了方便,在編程的過程中不用直接面對二進制地址

1. 指針變量

我一開始還糾結要不要寫這一部分,我想還是不要眼高手低吧,從最基礎的開始寫起吧。

相信大家都知道了,C語言中可以使用一個變量來存放地址,這種變量稱為指針變量,這里的地址可以是變量、數組、字符串、函數的地址,也可以是另一個指針變量的地址。

1.1 定義指針變量

 

int a = 100;

int b = 200;

char c = 'A';

int *p1 = &a;        //定義指針變

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

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

相關文章

用OpenAI接口給女朋友手搓AI小助理,她說要獎勵我,結果……

前言 最近,我那財經系的小女友迎來了考試周,她的復習資料已經堆得像珠穆朗瑪峰一樣高。壓力山大的她不斷讓我幫她整理這些資料,還頻頻向我傾訴她的苦水。雖然我自己也挺忙的,但為了愛,我只能忍痛扛起這重擔。。。為了…

【C++】STL-priority_queue

目錄 1、priority_queue的使用 2、實現沒有仿函數的優先級隊列 3、實現有仿函數的優先級隊列 3.1 仿函數 3.2 真正的優先級隊列 3.3 優先級隊列放自定義類型 1、priority_queue的使用 priority_queue是優先級隊列,是一個容器適配器,不滿足先進先出…

Spring Boot配置文件properties/yml/yaml

一、Spring Boot配置文件簡介 (1)名字必須為application,否則無法識別。后綴有三種文件類型: properties/yml/yaml,但是yml和yaml使用方法相同 (2) Spring Boot 項?默認的配置文件為 properties &#xff…

【單片機畢業設計選題24041】-基于STM32的水質檢測系統

系統功能: 系統上電后顯示“歡迎使用水質檢測系統請稍后”兩秒后進入正常顯示頁面。 第一頁面第一行顯示“系統狀態信息”,第二行顯示溫度和PH值信息,第三行顯示 渾濁度信息,第四行顯示TDS值信息。 第一頁面下的按鍵操作: 短…

Kotlin中的類

類初始化順序 constructor 里的參數列表是首先被執行的,緊接著是 init 塊和屬性初始化器,最后是次構造函數的函數體。 主構造函數參數列表firstProperty 初始化第一個 init 塊secondProperty 初始化第二個 init 塊次構造函數函數體 class Example const…

英語動詞時態

英語動詞時態總結 動詞時態一般進行完成完成進行現在一般現在時態動詞原形/動詞原形s(第三人稱單數)eat/eats現在進行時態助動詞be的變位動詞的現在分詞am/is/are eating現在完成時態助動詞have的變位動詞的過去分詞has/have eaten現在完成進行時態have…

SSE代替輪詢?

什么是 SSE SSE(Server-Sent Events,服務器發送事件),為特定目的而擴展的 HTTP 協議,用于實現服務器向客戶端推送實時數據的單向通信。如果連接斷開,瀏覽器會自動重連,傳輸的數據基于文本格式。…

力扣(2024.07.01)

1. 84——柱狀圖中最大的矩形 給定 n 個非負整數,用來表示柱狀圖中各個柱子的高度。每個柱子彼此相鄰,且寬度為 1 。 求在該柱狀圖中,能夠勾勒出來的矩形的最大面積。 標簽:棧,數組,單調棧(目…

面試題--SpringBoot

SpringBoot SpringBoot 是什么(了解) 是 Spring 的子項目,主要簡化 Spring 開發難度,去掉了繁重配置,提供各種啟動器,可以 讓程序員很快上手,節省開發時間. SpringBoot 的優點(必會) SpringBoot 對上述 Spring 的缺點進行的改善和優化,基于約定優于配置的思想&am…

rust嵌入式開發2024

老的rust embedded book 其實過時了. 正確的姿勢是embassy 入手. 先說下以前rust寫嵌入怎么教學小白的. 第一步,從這里 svd2rust 工具,自己生成庫第二部,有了這個庫,相當于就有了pac外設訪問文件,然后其實就可以搞起來了. 那么為啥不好搞了. 因為太亂了. 小白喜歡你告我咋弄…

[python][Anaconda]使用jupyter打開F盤或其他盤文件

jupyter有一個非常不好的體驗,就是不能在界面切換到其他盤來打開文件。 使用它,比較死板的操作是要先進入文件目錄,再運行jupyter。 以Windows的Anaconda安裝了jupyter lab或jupyter notebook為例。 1,先運行Anaconda Prompt 2&…

[Day 22] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

大數據與AI的關聯性 引言 大數據和人工智能(AI)是當今科技界的兩大熱門話題。這兩者的聯繫愈加緊密,相互影響和促進,形成了一個強大的技術生態系統。大數據提供了豐富的數據來源,而AI則利用這些數據來訓練和優化算法…

基于OpenCV與Keras的停車場車位自動識別系統

本項目旨在利用計算機視覺技術和深度學習算法,實現對停車場車位狀態的實時自動識別。通過攝像頭監控停車場內部,系統能夠高效準確地辨認車位是否被占用,為車主提供實時的空閑車位信息,同時為停車場管理者提供智能化的車位管理工具…

網優小插件_基于chrome瀏覽器Automa插件編寫抓取物業點信息小工具

日常在無線網絡優化,經常需要提取某一地市,某個屬性物業點信息(物業點名稱、地址、及經緯度信息),本文介紹基于chrome瀏覽器Automat插件開發自動化工具,利用百度地圖經緯度拾取網資源開發一個抓取物業點基本…

2024年了cv還有什么可以卷的嗎?

2024年,計算機視覺(CV)領域依然有很多可以探索和創新的方向。以下是一些潛在的研究熱點: 自監督學習與無監督學習:繼續探索如何在沒有大量標注數據的情況下訓練高性能的模型,尤其是跨模態自監督學習和多任務…

為什么這幾年參加PMP考試的人越來越多

參加PMP認證的人越來越多的原因我認為和社會發展、職場競爭、個人提升等等方面有著不小的關系。國際認證與國內認證的性質、發展途徑會有一些區別,PMP引進到中國二十余年,報考人數持增長狀態也是正常的。 具體可以從下面這幾個點來展開論述。 市場競爭…

全面掌握 Postman 數據導入與導出:詳細指南

Postman 是一款廣泛使用的 API 開發工具,它提供了豐富的功能來幫助開發者測試、開發和維護 API。其中,數據導入和導出是 Postman 中非常重要的功能之一,它們允許用戶將工作從一個環境遷移到另一個環境,或者與團隊成員共享配置。本…

面試專區|【88道測試工具考核高頻題整理(附答案背誦版)】

常用的監控工具有哪些? 常用的監控工具有以下幾種: Zabbix:是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級開源解決方案,能監視各種網絡參數,保證服務器系統的安全運營,并提供靈活的通知…

Rakis: 免費基于 P2P 的去中心化的大模型

是一個開源的,完全在瀏覽器中運行的去中心化 AI 推理網絡,用戶無需服務器,打開即可通過點對點網絡使用 Llama-3、Mistral、Gemma-2b 等最新開源模型。 你可以通過右上角的 Scale Worker ,下載好模型后掛機就能作為節點加入到這個…

JVM線上監控環境搭建Grafana+Prometheus+Micrometer

架構圖 一: SpringBoot自帶監控Actuator SpringBoot自帶監控功能Actuator&#xff0c;可以幫助實現對程序內部運行情況監控&#xff0c;比如監控內存狀況、CPU、Bean加載情況、配置屬性、日志信息、線程情況等。 使用步驟&#xff1a; 1. 導入依賴坐標 <dependency><…