最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1、指針

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

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

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

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

    int a=11;
    int p=&a;

2 錯(cuò)誤,第二行賦值的時(shí)候不用加上*。

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

3 指針定義了之后一定要使用,不然會報(bào)錯(cuò)。

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

2、引用

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

引用的特點(diǎn):

①一個(gè)變量可取多個(gè)別名。

②引用必須初始化。

③引用只能在初始化的時(shí)候引用一次 ,不能更改為轉(zhuǎn)而引用其他變量。

例子中,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
}

定義引用時(shí),可以在前面加 const 關(guān)鍵字,則該引用就成為“常引用”。如:

int n;
const int & r = n;

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

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

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

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

相關(guān)文章

最新評論

遂溪县| 怀来县| 麦盖提县| 全州县| 博白县| 新河县| 黄骅市| 徐水县| 景泰县| 浙江省| 宁武县| 大宁县| 铜川市| 郴州市| 新余市| 中方县| 乾安县| 诏安县| 安陆市| 洮南市| 绵竹市| 建水县| 江孜县| 新建县| 义乌市| 临漳县| 沂水县| 东台市| 兴海县| 邵阳县| 哈密市| 吴川市| 新和县| 武定县| 洛隆县| 淳化县| 肥东县| 渭南市| 伊川县| 偃师市| 富蕴县|