指標(pointer)和參考(reference)的區別

指標和引用都是C和C++中最強大的特性,它允許程式設計師直接處理記憶體地址,以進行高效的記憶體管理。...

指標和引用都是C和C++中最強大的特性,它允許程式設計師直接處理記憶體地址,以進行高效的記憶體管理。

兩者都是用於間接引用其他物件的變數,它們在曲面上具有一些共同的特徵。雖然它們有很多共同的功能,但理解起來也非常複雜。

指標是儲存另一個變數的記憶體地址的變數,而引用類似於指標,可以用來間接引用另一個變數。

大多數程式設計師似乎對何時使用指標和何時使用引用有了一定的瞭解,但他們經常遇到一些解決方案似乎不明確的問題。

為了更好地理解哲學,讓我們來理解兩者的區別。

什麼是指標(a pointer)?

每個變數都是一個記憶體位置,由其地址定義,並與一個識別符號配對,該識別符號包含一些在程式執行過程中可能更改的值。簡單來說,變數是表示一個量的符號。

指標是包含另一個變數的記憶體地址的變數。指標只不過是地址,儲存指標的變數稱為指標變數。

其思想是使用識別符號(或名稱)而不是數字地址來減輕程式設計負擔,從而降低程式的複雜性。由於這些地址指的是計算機記憶體中的實際位置,指標可用於訪問和操作記憶體中儲存的內容。

與任何變數或常量一樣,必須為其型別宣告指標。由於指標包含屬於單獨資料型別的記憶體地址,因此必須使用指標宣告它們,然後才能使用它們。指標宣告的一般形式是:

資料型別*變數名稱;

這裡,“datatype”是指標的基型別,“var name”是指標變數。此處的星號(*)用於宣告指標,該指標將變數“var name”指定為指標變數。

int*p;//整數指標

浮點*x;//浮點指標

這裡,變數“p”指向一個整數資料型別,該資料型別被宣告為“int”,它表示變數的資料型別。類似地,在第二個示例中,“float”是指變數“x”的資料型別,該變數實際上被指定為指向浮點變數的指標。

指標(pointer)和參考(reference)的區別

 

什麼是參考文獻(a reference)?

引用就像是間接訪問變數的指標。它就像另一個變數的別名,意味著它只是一個已經存在的變數的另一個名稱。

它允許程式設計師為變數建立第二個名稱,他們可以使用該名稱來操作儲存在該變數中的內容。它是一個實體,是另一個變數的別名,它與原始變數具有相同的地址。它支援按引用傳遞作為函式形式引數,一旦定義為引用一個變數,它就不能被重置,這意味著它不能被引用到另一個變數。

與指標不同,它們不需要解引用運算子來訪問值;實際上,它們可以像普通變數一樣使用。

國際一級;

內部(&A);ri=i;

這裡,“ri”是初始化為“i”的整數引用。它將“ri”宣告為“reference to int”型別的物件。引用很容易與作為自變數的指標混淆,指標的地址值一旦建立就不能重新賦值。

指標(pointer)和參考(reference)的區別

 

指標和引用之間的差異

  1. 指標和引用基礎

–兩者在可用性方面提供了幾乎相似的功能,區別可能很棘手。指標只是一個儲存另一個變數的記憶體地址的變數,而引用就像已經存在的變數的別名。它為變數建立第二個名稱,該名稱可用於修改儲存在該變數中的內容。

  1. 指標和引用的宣告

–指標類似於儲存資料的任何其他變數。與其他變數不同,指標變數儲存記憶體地址而不是值。使用間接運算子*取消對指標的引用,以訪問指標所指向的變數的記憶體位置。另一方面,引用不需要任何解引用運算子來訪問值。

  1. 指標和引用的重新分配

–不像指標可以在任何時候初始化,引用必須在初始化時分配。指標可以直接訪問,而引用不能直接訪問。

  1. 指標和引用的記憶體地址

–指標變數在記憶體中有自己的位置,這意味著在宣告指標時,指定的位置是分配給每個記憶體單元的記憶體地址。指標變數與記憶體中儲存的地址相同。另一方面,引用變數是另一個變數的別名,因此取引用變數的地址。

  1. 指標和引用的空值

–NULL表示列表的結尾,表示值未知,並指定變數沒有有效的地址空間。空值可以直接賦給指標變數,這表明它不指向任何地方,而空值不能賦給引用變數。

指標與參考:比較圖

指標(pointer)和參考(reference)的區別

總結 - 指標的位置(of pointer) vs. 參考(reference)

在參考文獻之前,指標一直是C/C++程式設計師討論的熱門話題之一。參考文獻有點類似於指標,但在比較中它們有各自的優點和缺點。雖然兩者都可以用來改變一個函式在另一個函式中的區域性變數,但它們有各自的區別。這兩個都是C和C++中的強大特性,它們允許您直接操作記憶體,但有少數例外。指標儲存變數的記憶體地址,而引用只是另一個變數的別名。

 

  • 發表於 2021-06-25 06:41
  • 閱讀 ( 42 )
  • 分類:科技

你可能感興趣的文章

指示電極(indicator electrode)和參比電極(reference electrode)的區別

指示電極和參比電極的關鍵區別在於,指示電極對分析物活性的變化做出響應,而參比電極對變化不響應,且響應穩定。 指示電極和參比電極是電位滴定中的兩個重要組成部分。這些是進行潛在測量所必需的。在這裡,一個...

  • 發佈於 2020-10-17 06:41
  • 閲讀 ( 89 )

單光束(single beam)和雙光束分光光度計(double beam spectrophotometer)的區別

...考光進行比較)。因此,吸收是樣品光束(穿過樣品後)和參考光束之間的比率。分光光度計有一個單色儀,它能將所需波長與光束隔離開來。在移到單色儀之前,參考光和樣品光重新組合。因此,這樣可以避免或補償對樣品和...

  • 發佈於 2020-10-18 20:17
  • 閲讀 ( 106 )

外面的(out)和參考c#(ref in c#)的區別

...值和返回結果,C使用引數。它們是有值引數、輸出引數和參考引數。值引數用於按值將引數傳遞到方法中。引用引數用於透過引用將引數傳遞給方法。輸出引數用於將結果從方法返回。在C#中,out關鍵字用於輸出引數,ref關鍵字...

  • 發佈於 2020-10-18 20:42
  • 閲讀 ( 51 )

值型別(value type)和參考型別(reference type)的區別

...值,而引用型別儲存指向另一個儲存資料的記憶體位置的指標。 目錄 1. 概述和主要區別 2. 什麼是價值型別 3. 什麼是參考型別 4. 值型別和引用型別的相似性 5. 並列比較-值型別與表格形式的引用型別 6.摘要 什麼是值型別(value typ...

  • 發佈於 2020-10-19 07:42
  • 閲讀 ( 57 )

按值呼叫(call by value)和透過引用呼叫(call by reference)的區別

...式。參考下面用程式碼塊環境編寫的C程式。 圖03:使用指標交換兩個數字 根據下面的給定示例,“a”的值為20,“b”的值為30。程式設計師可以使用swap(&a,&b)函式傳送“a”和“b”的地址,而不是傳遞“a”和“b”的...

  • 發佈於 2020-10-20 00:32
  • 閲讀 ( 45 )

競爭的(competitive)和非競爭性elisa(noncompetitive elisa)的區別

...**抗體的ELISA。另一方面,在非競爭性ELISA中,感興趣抗原和參考抗原之間不存在這種競爭。因此,這是競爭性和非競爭性ELISA的關鍵區別。同樣,競爭ELISA是抑制ELISA,而非競爭ELISA不是抑制ELISA。所以,這也是競爭性和非競爭性EL...

  • 發佈於 2020-10-21 17:20
  • 閲讀 ( 72 )

學術寫作(academic writing)和非學術寫作(non academic writing)的區別

...張。 此外,學術寫作中含有大量特定領域的詞彙。引文和參考文獻列表學術寫作中的另一個重要特徵。此外,學術寫作的基調應該是客觀的和正式的。 學術寫作技巧 總是使用正式語言。避免使用俚語。 不要使用縮略語(動詞...

  • 發佈於 2020-10-21 19:46
  • 閲讀 ( 63 )

apa公司(apa)和哈佛參考文獻(harvard referencing)的區別

...佛參考文獻法》類似,哈佛參考文獻也要求在文字中引用和參考文獻列表。哈佛參考系廣泛應用於科技寫作中的源材料引用。每個參照系在某些方面都是不同的。 文字參考 單一作者 “差異化的目的是透過降低價格敏感度或實現...

  • 發佈於 2020-10-23 18:21
  • 閲讀 ( 58 )

apa公司(apa)和mla公司(mla)的區別

...。標題頁,頁碼,摘要,標題,論文陳述,你的研究證據和參考書目。對於MLA研究論文,不需要標題頁。但是,你必須在第一頁的左上角寫上你的名字、導師的名字、日期和課程名稱。除此之外,還有論文陳述、頁碼、證據和參...

  • 發佈於 2020-10-25 04:44
  • 閲讀 ( 47 )

參考文獻(bibliography)和參考列表(reference list)的區別

參考書目與參考書目 書目和參考書目之間的區別有點難以理解,因為當你第一次看到它們時,它們似乎產生了相同的資訊。這就是為什麼書目和參考書目這兩個術語在含義上常常混淆不清。參考書目和參考書目是研究方法學...

  • 發佈於 2020-11-05 10:35
  • 閲讀 ( 47 )
啥事兒
啥事兒

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦