0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

你們知道指針和引用正確的使用場(chǎng)景嗎

STM32嵌入式開發(fā) ? 來源:CSDN技術(shù)社區(qū) ? 作者:weixin_39862899 ? 2021-09-02 14:37 ? 次閱讀

先解決兩個(gè)疑問

◆ 指針和引用的不同之處是什么?

◆ 何時(shí)用用指針?何時(shí)用引用?

指針和引用的不同之處

看如下代碼:

766e5490-0b3d-11ec-8fb8-12bb97331649.png

指針是用來表示內(nèi)存地址的,而指針這個(gè)整數(shù)正是被指向的變量地址。

而引用就是給變量重新起了一個(gè)名字,引用也就是“別名”。

不同之處

◆ 指針在聲明時(shí)可以暫時(shí)不初始化,當(dāng)然每次使用指針時(shí)都要做檢查,以防出現(xiàn)空指針異常的問題0。而引用永遠(yuǎn)都不會(huì)為空,它一定得代表某個(gè)對(duì)象。

7678a346-0b3d-11ec-8fb8-12bb97331649.png

◆ 指針存放的是地址,可以被重新賦值。而引用總是指向它最初代表的那個(gè)對(duì)象。

指針和引用使用場(chǎng)合

引用主要是作為函數(shù)的參數(shù)和返回值來使用的,看如下代碼:

76a6dc34-0b3d-11ec-8fb8-12bb97331649.png

通過vec[3] =3可改變vector容器的值,這是因?yàn)椋郏莶僮鞣祷氐木褪且谩R簿褪菫閮?nèi)部的變量取了一個(gè)別名,還能讓[]操作符返回一個(gè)指針,即*vec[3]=3。實(shí)際上引用可以做的事情指針都可以做,那為什么還要使用引用?

總結(jié)

用恰當(dāng)?shù)墓ぞ咦銮∪缙浞值墓ぷ鳌?/p>

指針可以毫無約束的操作內(nèi)存中的任何東西,功能十分強(qiáng)大,但也很危險(xiǎn),所以可以在恰當(dāng)?shù)臅r(shí)機(jī)使用引用。當(dāng)你需要指向某個(gè)東西,絕不會(huì)讓其指向其它東西,例如有些函數(shù)參數(shù)為了避免拷貝可以使用引用,或者實(shí)現(xiàn)一個(gè)操作符而其語法需求無法由指針達(dá)成,例如vec[3]=3,可以使用引用,而其它任何時(shí)候,都要使用指針。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2902

    瀏覽量

    73536
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61965
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67765
  • Vector
    +關(guān)注

    關(guān)注

    3

    文章

    53

    瀏覽量

    8522

原文標(biāo)題:C語言面試-指針和引用的使用場(chǎng)景?

文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    脈沖式線圈測(cè)試儀的技術(shù)原理和應(yīng)用場(chǎng)景

    脈沖式線圈測(cè)試儀,也被稱為數(shù)字式匝間絕緣測(cè)試儀,其技術(shù)原理和應(yīng)用場(chǎng)景如下:技術(shù)原理脈沖式線圈測(cè)試儀的技術(shù)原理主要基于電磁感應(yīng)和瞬態(tài)波形分析。具體來說,測(cè)試儀會(huì)對(duì)標(biāo)準(zhǔn)線圈繞組和被測(cè)試?yán)@組施加相同的脈沖
    發(fā)表于 09-18 14:29

    面試???1:函數(shù)指針指針函數(shù)、數(shù)組指針指針數(shù)組

    在嵌入式開發(fā)領(lǐng)域,函數(shù)指針、指針函數(shù)、數(shù)組指針指針數(shù)組是一些非常重要但又容易混淆的概念。理解它們的特性和應(yīng)用場(chǎng)景,對(duì)于提升嵌入式程序的效率
    的頭像 發(fā)表于 08-10 08:11 ?311次閱讀
    面試???1:函數(shù)<b class='flag-5'>指針</b>與<b class='flag-5'>指針</b>函數(shù)、數(shù)組<b class='flag-5'>指針</b>與<b class='flag-5'>指針</b>數(shù)組

    請(qǐng)問risc-v芯片的主要應(yīng)用場(chǎng)景是哪里?

    如題,我想請(qǐng)教一下risc-v芯片與其他的芯片在應(yīng)用場(chǎng)景上有哪些不一樣?
    發(fā)表于 07-30 21:23

    FPGA與MCU的應(yīng)用場(chǎng)景

    FPGA的應(yīng)用場(chǎng)景有這些: 快速原型設(shè)計(jì) FPGA可以快速配置成多種定制數(shù)字電路,允許在不需要昂貴且耗時(shí)的制造過程的情況下進(jìn)行快速部署和修改。 硬件加速 在需要高性能和低延遲的應(yīng)用中,F(xiàn)PGA的并行
    發(fā)表于 07-29 15:45

    智慧園區(qū)數(shù)字化能源云平臺(tái)的多元化應(yīng)用場(chǎng)景,您知道哪些?

    智慧園區(qū)數(shù)字化能源云平臺(tái)的多元化應(yīng)用場(chǎng)景,您知道哪些? 智慧園區(qū)數(shù)字化能源云平臺(tái),作為新一代信息技術(shù)與傳統(tǒng)能源管理深度融合的典范,正引領(lǐng)著產(chǎn)業(yè)園區(qū)向智慧化、綠色化轉(zhuǎn)型的浪潮。該平臺(tái)依托于大數(shù)據(jù)、云
    的頭像 發(fā)表于 06-21 17:13 ?208次閱讀

    STM32待機(jī)模式適合用于那些應(yīng)用場(chǎng)景?

    對(duì)于查看STM32低功耗模式,共有三種,其中最省電的為待機(jī)模式,但是待機(jī)模式喚醒后相當(dāng)于軟件復(fù)位了,ram及寄存器中的值都復(fù)位了,僅僅是備份域的寄存器除外,因此有個(gè)疑問,待機(jī)模式適合用于那些應(yīng)用場(chǎng)景
    發(fā)表于 05-07 07:46

    C語言函數(shù)指針六大應(yīng)用場(chǎng)景詳解

    函數(shù)指針是一種非常強(qiáng)大的編程工具,它可以讓我們以更加靈活的方式編寫程序。在本文中,我們將介紹 6 個(gè)函數(shù)指針的高級(jí)應(yīng)用場(chǎng)景,并貼出相應(yīng)的代碼案例和解釋。
    的頭像 發(fā)表于 04-23 18:19 ?727次閱讀

    NanoEdge AI的技術(shù)原理、應(yīng)用場(chǎng)景及優(yōu)勢(shì)

    能耗并提高數(shù)據(jù)安全性。本文將對(duì) NanoEdge AI 的技術(shù)原理、應(yīng)用場(chǎng)景以及優(yōu)勢(shì)進(jìn)行綜述。 1、技術(shù)原理 NanoEdge AI 的核心技術(shù)包括邊緣計(jì)算、神經(jīng)網(wǎng)絡(luò)壓縮和低功耗硬件設(shè)計(jì)。邊緣計(jì)算
    發(fā)表于 03-12 08:09

    AG32VF-MIPI應(yīng)用場(chǎng)景

    MIPI接口技術(shù)在圖像和視頻傳輸中的應(yīng)用越來越廣泛,應(yīng)用場(chǎng)景也在不斷拓展,而不僅限于移動(dòng)設(shè)備。MIPI接口在物聯(lián)網(wǎng)、智能家居、智能監(jiān)控、智能電視、智能汽車等領(lǐng)域也得到廣泛應(yīng)用。 MIPI還可
    發(fā)表于 01-22 08:56

    函數(shù)指針的基本概念和語法

    函數(shù)指針是一種非常強(qiáng)大的編程工具,它可以讓我們以更加靈活的方式編寫程序。在本文中,我們將介紹 8 個(gè)函數(shù)指針的高級(jí)應(yīng)用場(chǎng)景,并貼出相應(yīng)的代碼案例和解釋。
    的頭像 發(fā)表于 12-12 09:33 ?373次閱讀

    labview 和 wincc 的區(qū)別 使用場(chǎng)景

    labview 和 wincc 的區(qū)別 使用場(chǎng)景 都是上位機(jī)軟件,都可以做監(jiān)控軟件 wincc的名氣也比較大 對(duì)比的資料較少 寫這些文章的人,從自己的從事的行業(yè)出發(fā),帶有自己的思維 使用的場(chǎng)景 肯定
    發(fā)表于 10-27 18:01

    【華秋干貨鋪】SMT組裝工藝流程的應(yīng)用場(chǎng)景

    工藝流程的應(yīng)用場(chǎng)景。 01單面純貼片工藝 應(yīng)用場(chǎng)景: 僅在一面有需要焊接的貼片器件。 02雙面純貼片工藝 應(yīng)用場(chǎng)景: A/B面均為貼片元件。 03單面混裝工藝 應(yīng)用場(chǎng)景: A面有貼
    發(fā)表于 10-20 10:33

    SMT組裝工藝流程的應(yīng)用場(chǎng)景

    工藝流程的應(yīng)用場(chǎng)景。 01單面純貼片工藝 應(yīng)用場(chǎng)景: 僅在一面有需要焊接的貼片器件。 02雙面純貼片工藝 應(yīng)用場(chǎng)景: A/B面均為貼片元件。 03單面混裝工藝 應(yīng)用場(chǎng)景: A面有貼
    發(fā)表于 10-20 10:31

    SMT組裝工藝流程的應(yīng)用場(chǎng)景(多圖)

    工藝流程的應(yīng)用場(chǎng)景。 一、單面純貼片工藝 應(yīng)用場(chǎng)景: 僅在一面有需要焊接的貼片器件。 二、雙面純貼片工藝 應(yīng)用場(chǎng)景: A/B面均為貼片元件。 三、單面混裝工藝 應(yīng)用場(chǎng)景: A面有
    發(fā)表于 10-17 18:10

    直線模組的應(yīng)用場(chǎng)景

    直線模組的應(yīng)用場(chǎng)景
    的頭像 發(fā)表于 10-09 17:36 ?817次閱讀
    直線模組的應(yīng)<b class='flag-5'>用場(chǎng)景</b>