日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

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

作者:echo_gou ? 更新時間: 2022-07-23 編程語言

1、指針

在計算機中,數據是存放在內存單元中的,一般把內存中的一個字節稱為一個內存單元。為了更方便地訪問這些內存單元,可預先給內存中的所有內存單元進行地址編號,根據地址編號,可準確找到其對應的內存單元。由于每一個地址編號均對應一個內存單元,因此可以形象地說一個地址編號就指向一個內存單元。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 指針類型要和數據類型一致,不同的類型之間不可以使用指針

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 &。

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

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

原文鏈接:https://blog.csdn.net/echo_gou/article/details/124837254

欄目分類
最近更新