欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言簡明分析指針與引用的具體用法

 更新時間:2022年05月24日 10:29:07   作者:echo_gou  
指針是一個實體,引用是一個別名;在匯編上,引用的底層是以指針的方式實現(xiàn)的,定義一個引用變量,相當于定義了一個指針,然后把引用內存的地址寫到這個指針里面,當通過引用變量修改它所引用的內存時,它先訪問了指針里面的地址,然后在這個地址的內存里面對值進行修改

1、指針

在計算機中,數(shù)據(jù)是存放在內存單元中的,一般把內存中的一個字節(jié)稱為一個內存單元。為了更方便地訪問這些內存單元,可預先給內存中的所有內存單元進行地址編號,根據(jù)地址編號,可準確找到其對應的內存單元。由于每一個地址編號均對應一個內存單元,因此可以形象地說一個地址編號就指向一個內存單元。C 語言中把地址形象地稱作指針。

主要就是兩個運算符:&和*。 & 表示求地址,*表示求地址中的值,*也可以用來定義指針(int *p表示整型指針);

int a=1;
int *p=&a;
printf("%d",p);
//p就輸出a的地址了

1 錯誤:&a地址只能賦值給指針變量。

    int a=11;
    int p=&a;

2 錯誤,第二行賦值的時候不用加上*。

int *p,a;
*p=&a; //錯誤,指針變量是p而不是*p

3 指針定義了之后一定要使用,不然會報錯。

4 指針類型要和數(shù)據(jù)類型一致,不同的類型之間不可以使用指針

2、引用

引用引入了對象的一個同義詞。定義引用的表示方法與定義指針相似,只是用&代替了*。引用(reference)是c++對c語言的重要擴充。引用就是某一變量(目標)的一個別名,對引用的操作與對變量直接操作完全一樣。其格式為:類型 &引用變量名 = 已定義過的變量名。

引用的特點:

①一個變量可取多個別名。

②引用必須初始化。

③引用只能在初始化的時候引用一次 ,不能更改為轉而引用其他變量。

例子中,a、b作為n1、n2的引用,

#include<iostream>
using namespace std;
void Swap(int & a, int & b)
{ //交換a、b的值
    int tmp;
    tmp = a; a = b; b = tmp;
}
int main()
{
    int n1 = 100, n2 = 50;
    Swap(n1, n2);  //n1、n2 的值被交換
    cout << n1 << " " << n2 << endl;  //輸出 50 100
}

定義引用時,可以在前面加 const 關鍵字,則該引用就成為“常引用”。如:

int n;
const int & r = n;

上面的語句定義了常引用 r,其類型是 const int &。

常引用和普通引用的區(qū)別在于:不能通過常引用去修改其引用的內容。注意,不是常引用所引用的內容不能被修改,只是不能通過常引用去修改而已,但可以用別的辦法修改。例如下面的程序片段:

int n = 100;
const int & r = n;
r = 200; //編譯出錯,不能通過常引用修改其引用的內容
n = 300; //沒問題,n的值變?yōu)?00

到此這篇關于C語言簡明分析指針與引用的具體用法的文章就介紹到這了,更多相關C語言指針與引用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言詳細分析講解struct與union使用方法

    C語言詳細分析講解struct與union使用方法

    最近開始自學C語言,從最基礎部分的開始學起。今天看書的時候注意到了struct和union似乎很像,除了名字不同,看起來幾乎沒有區(qū)別。<BR>既然C中定義了struct和union兩個關鍵字,那么它們肯定是有區(qū)別的,在查了一些資料之后我來總結一下他們的使用
    2022-04-04
  • C語言深入分析遞歸函數(shù)的實現(xiàn)

    C語言深入分析遞歸函數(shù)的實現(xiàn)

    遞歸(recursive)函數(shù)是“自己調用自己”的函數(shù),無論是采用直接或間接調用方式。間接遞歸意味著函數(shù)調用另一個函數(shù)(然后可能又調用第三個函數(shù)等),最后又調用第一個函數(shù)。因為函數(shù)不可以一直不停地調用自己,所以遞歸函數(shù)一定具備結束條件
    2022-04-04
  • C語言鏈表與單鏈表詳解

    C語言鏈表與單鏈表詳解

    鏈表是一種物理存儲結構上非連續(xù)、非順序的存儲結構,數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序實現(xiàn)的,本章帶你詳細了解鏈表與單鏈表
    2022-02-02
  • opencv3/C++繪制幾何圖形實例

    opencv3/C++繪制幾何圖形實例

    今天小編就為大家分享一篇opencv3/C++繪制幾何圖形實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C語言的指針類型詳細解析

    C語言的指針類型詳細解析

    C語言的指針類型包括兩方面的信息:一是地址,存放在指針變量中;二是類型信息,關乎于讀寫的長度,沒有存儲在指針變量中,位于用該指針讀寫時的mov指令中,不同的讀寫長度對應的mov指令不同
    2013-09-09
  • opencv+arduino實現(xiàn)物體點追蹤效果

    opencv+arduino實現(xiàn)物體點追蹤效果

    這篇文章主要為大家詳細介紹了opencv+arduino實現(xiàn)物體點追蹤效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言中strlen()函數(shù)的使用詳解

    C語言中strlen()函數(shù)的使用詳解

    strlen函數(shù)是用來求字符串長度的函數(shù),這個函數(shù)遇到‘\0’就會停止,且這個長度不包含‘\0’,這篇文章給大家介紹了C語言中strlen()函數(shù)的使用,感興趣的朋友一起看看吧
    2024-02-02
  • C/C++實現(xiàn)蛇形矩陣的示例代碼

    C/C++實現(xiàn)蛇形矩陣的示例代碼

    本文主要介紹了C/C++實現(xiàn)蛇形矩陣的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 深入探究協(xié)程在C++中的實現(xiàn)方式

    深入探究協(xié)程在C++中的實現(xiàn)方式

    協(xié)程可以被看作是計算機程序中的獨立功能塊,它們在執(zhí)行過程中能夠暫停和恢復,與傳統(tǒng)的函數(shù)調用相比,協(xié)程更像是一種輕量級的線程,本文我們將深入探究協(xié)程在C++中的實現(xiàn)方式,文中有詳細的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • C語言編程中函數(shù)的基本學習教程

    C語言編程中函數(shù)的基本學習教程

    這篇文章主要介紹了C語言編程中函數(shù)的基本學習教程,其中著重講到了傳值調用與參數(shù),需要的朋友可以參考下
    2015-12-12

最新評論