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

淺談C++中的引用和指針

 更新時間:2023年08月23日 10:25:44   作者:小小草帽  
這篇文章主要介紹了淺談C++中的引用和指針,C++允許為已定義的變量再起一個新的別名,稱為變量的引用名,引用名看起來像是一個變量名,但它是一種特殊變量,稱為引用變量,或簡稱為引用,需要的朋友可以參考下

引用

定義引用變量

C++允許為已定義的變量再起一個新的別名,稱為變量的引用名。

引用名看起來像是一個變量名,但它是一種特殊變量,稱為引用變量,或簡稱為引用。

引用變量與其所引用的變量共用同一個內(nèi)存單元,定義引用變量時不再單獨(dú)分配內(nèi)存空間。

注意:引用變量需與被引用變量類型相同

格式:

引用類型 &引用變量名 = 被引用變量名;

示例:

#include<iostream>
using namespace std;
int main(){
	int a = 10;
	int b = 20;
	cout << "a的值: a = " << a << endl;
	cout << endl;
	int &aa = a;  //定義引用變量aa,aa和a共用同一個內(nèi)存單元 
	cout << "引用變量aa的值:aa = " << aa << endl;
	aa = b;
	cout << "a的值變?yōu)?0:a: " << a << endl;
	return 0;
}

運(yùn)行結(jié)果:

a的值: a = 10
引用變量aa的值:aa = 10
a的值變?yōu)?0:a: 20
--------------------------------
Process exited with return value 0
Press any key to continue . . .

指針

取地址運(yùn)算符

計(jì)算機(jī)對內(nèi)存進(jìn)行讀寫操作的最小單位是字節(jié)。為每個字節(jié)指定一個整數(shù)編號,稱為該字節(jié)的內(nèi)存地址

程序執(zhí)行時,計(jì)算機(jī)將系統(tǒng)中的空閑內(nèi)存分配給程序中定義的變量。

C++語言提供一個取地址運(yùn)算符 “&” 來獲取變量的內(nèi)存地址。

格式:

 & 變量名

示例

#include<iostream>
using namespace std;
int main(){
	int a = 10;
	cout << "a的值: a = " << a << endl;
	cout << "a的地址: &a = " << &a << endl;
	return 0;
}

運(yùn)行結(jié)果:

a的值: a = 10
a的地址: &a = 0x6bfee8
--------------------------------
Process exited with return value 0
Press any key to continue . . .

定義指針變量

只能指向同一類型的不同變量 格式:

 指針類型 *指針變量名;

示例

#include<iostream>
using namespace std;
int main(){
	int a = 10;
	int x = 20;
	cout << "a的值: a = " << a << endl;
	cout << "a的地址: &a = " << &a << endl;
	cout << endl;
	int* b = &a;   //指針b指向a的地址 
	cout << "b指針存儲的a的地址:b = " << b << endl;
	cout << "*b表示間接訪問a的值:*b = " << *b << endl;
	return 0;
}

運(yùn)行結(jié)果:

a的值: a = 10
a的地址: &a = 0x6bfee4
b指針存儲的a的地址:b = 0x6bfee4
*b表示間接訪問a的值:*b = 10
--------------------------------
Process exited with return value 0
Press any key to continue . . .

指針運(yùn)算符 *

通過內(nèi)存地址間接訪問變量

示例

#include<iostream>
using namespace std;
int main(){
	int a = 10;
	cout << "a的值: a = " << a << endl;
	cout << "a的地址: &a = " << &a << endl;
	cout << endl;
	int &aa = a;  //定義引用變量aa,aa和a共用同一個內(nèi)存單元 
	cout << "引用變量aa的值:aa = " << aa << endl;
	cout << "引用變量aa的地址:&aa = " << &aa << endl;
	cout << endl;
	int* b = &a;   //指針b指向a的地址 
	cout << "b指針存儲的a的地址:b = " << b << endl;
	cout << "*b表示間接訪問a的值:*b = " << *b << endl;
	return 0;
}

運(yùn)行結(jié)果

a的值: a = 10
a的地址: &a = 0x6bfee4
引用變量aa的值:aa = 10
引用變量aa的地址:&aa = 0x6bfee4
b指針存儲的a的地址:b = 0x6bfee4
*b表示間接訪問a的值:*b = 10
--------------------------------
Process exited with return value 0
Press any key to continue . . .

訪問一個變量的三種方式(定義一個變量a之后)

  1. 直接訪問(a): 通過變量名a來直接訪問
  2. 通過引用變量名間接訪問(aa): 為變量a定義一個引用變量aa,通過引用名aa來訪問變量a內(nèi)存單元是一種間接訪問的形式,被稱為變量的間接訪問。
  3. 通過內(nèi)存地址間接訪問 (*b): 定義一個指針變量b保存變量a的地址,再通過指針變量b中所保存的地址來訪問變量a的內(nèi)存單元,這是另一種形式的間接訪問。

到此這篇關(guān)于淺談C++中的引用和指針的文章就介紹到這了,更多相關(guān)C++引用和指針內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ LeeCode題目:比特位計(jì)數(shù)和買賣股票的最佳時機(jī)

    C++ LeeCode題目:比特位計(jì)數(shù)和買賣股票的最佳時機(jī)

    這篇文章主要介紹了基于C語言計(jì)算比特位計(jì)數(shù)和買賣股票的最佳時機(jī),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-07-07
  • 簡單總結(jié)C++中的修飾符類型

    簡單總結(jié)C++中的修飾符類型

    這篇文章主要介紹了C++中的修飾符類型總結(jié),是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2016-05-05
  • 詳解C語言對字符串處理函數(shù)的實(shí)現(xiàn)方法

    詳解C語言對字符串處理函數(shù)的實(shí)現(xiàn)方法

    這篇文章主要為大家介紹了C語言對字符串處理函數(shù)的實(shí)現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • C語言求逆矩陣案例詳解

    C語言求逆矩陣案例詳解

    這篇文章主要介紹了C語言求逆矩陣案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C++中Digraphs、Trigraphs和Tokens的深入講解

    C++中Digraphs、Trigraphs和Tokens的深入講解

    這篇文章主要給大家介紹了關(guān)于C++中Digraphs、Trigraphs和Tokens的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • 使用VS2010創(chuàng)建MFC ActiveX工程項(xiàng)目

    使用VS2010創(chuàng)建MFC ActiveX工程項(xiàng)目

    VS2010開發(fā)ActiveX有兩種方法,分別是MFC和ATL。MFC開過起來比較簡單,但是最終生成的文件比較大,ATL是專門用來開發(fā)ActiveX的,但是相對比較難,必須知道很多原理機(jī)制和API。咱先從MFC開發(fā)ActiveX開始吧。
    2015-06-06
  • C++結(jié)構(gòu)體與類指針知識點(diǎn)總結(jié)

    C++結(jié)構(gòu)體與類指針知識點(diǎn)總結(jié)

    在本篇文章里小編給大家整理了關(guān)于C++結(jié)構(gòu)體與類指針知識點(diǎn)以及相關(guān)內(nèi)容,有興趣的朋友們參考學(xué)習(xí)下。
    2019-09-09
  • C++11?關(guān)鍵字?const?使用小結(jié)

    C++11?關(guān)鍵字?const?使用小結(jié)

    const大致意思是“我承諾不改變這個值”。主要用于說明接口,這樣在把變量傳入函數(shù)時就不必?fù)?dān)心變量會在函數(shù)內(nèi)被改變,本文給大家介紹C++11?關(guān)鍵字?const?使用小結(jié),感興趣的朋友一起看看吧
    2021-12-12
  • C++控制臺用定時器實(shí)例代碼

    C++控制臺用定時器實(shí)例代碼

    這篇文章主要介紹了C++控制臺用定時器實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • QT5中使用QRegularExpression代替QRegExp方法代碼

    QT5中使用QRegularExpression代替QRegExp方法代碼

    這篇文章主要給大家介紹了關(guān)于QT5中使用QRegularExpression代替QRegExp的相關(guān)資料,正則表達(dá)式(regep)是處理字符串和文本的強(qiáng)大工具,驗(yàn)證regexp可以測試子字符串是否滿足某些條件,例如是整數(shù)或不包含空格,需要的朋友可以參考下
    2024-04-04

最新評論