C 的指標與引用

2021-10-18 20:59:35 字數 1408 閱讀 7533

指標是乙個變數,其值為另乙個變數的位址,即,記憶體位置的直接位址。

#include 

using namespace std;

int main(void)

可以利用指標p++來依次訪問儲存位置相鄰的陣列的值

#include 

using namespace std;

int main(void)

; int *p;

p =&a[0]

;//將p定位到a[0]的位置

p++;//將p指向下乙個位置,就是a[1]的位置

return 0;

}

對函式的形參的值修改也會將實參的值改變

#include 

using namespace std;

void swap(int *a,int *b)

int main(void)

#include 

#include

#include

using namespace std;

int *randrom(

)return tp;

}int main(void)

return 0;

}

引用變數是乙個別名,也就是說,它是某個已存在變數的另乙個名字。一旦把引用初始化為某個變數,就可以使用該引用名稱或變數名稱來指向變數。

1、不存在空引用,引用必須連線到一塊合法的記憶體

2、一旦乙個引用初始化為乙個物件,就不能再轉為另乙個物件。指標隨時可以指向另乙個物件。

3、引用必須在建立時被初始化,指標可以在任何時候被初始化。

引用的值會隨著引用物件的值的改變而改變

#include 

using namespace std;

int main(void)

#include 

using namespace std;

void swap(int& x,int &y)//形參的型別是引用

int main(void)

當返回乙個引用時,被引用的物件不能超過作用域,所以乙個對區域性變數的引用是不合法的,但是可以返回乙個對靜態變數的引用。

#include 

using namespace std;

int& mul(int x,int y)

int main(void)

C 指標與引用

include 引用傳遞 int add1 int x,int y 指標傳遞 int add2 int x,int y 值傳遞 int add3 int x,int y void main int a 1 int b a 引用,表示b的引用指向了a 定義引用 開頭 必須賦初值 引用變數不占用記憶體 ...

C 指標與引用

從函式引數傳遞說起 int addition int x,int y int main void duplicate int a,int b int main 按值傳遞,顧名思義,函式形參僅僅得到變數傳來的值,函式的任何操作並不對變數產生任何變化 按位址傳遞,他的定義方式與按值傳遞不一樣 注意其在m...

C 引用與指標

1 引用即給當前物件起了個別名,通過將宣告符寫成 t c的形式來定義引用,其中t是變數名,c是當前物件的名字 修改別名相當於修改當前物件,引用必須初始化,且不能更改指向物件 example int a 10 定義a及初始化 int c a 定義a的引用c cout2 引用不是物件,只是對目前已經存在...