1. 程式人生 > >引用、指標

引用、指標

&的三個含義:位與、引用變數說明符、取地址運算子

*的三個含義:乘、指標變數說明符、取值運算子

【引用】:引用變數與被引用變數同時指向同一記憶體地址,其一改變,兩者都改變。

&——引用變數說明符,xa——引用變數(型別要與x一致,且不能再引用其他變數)

#include <iostream>
using namespace std;
int main() {
    int x = 10;
    int &xa = x;//宣告引用變數xa
    cout << xa<<endl; //10
    x = 11;
    cout 
<< xa; //11 return 0; }

&取地址運算子

int x=10; //定義變數,劃定記憶體,4位元組
cout << &x; //程式每次執行時,x的記憶體地址可能不同,16進位制顯示

【指標】*指標變數說明符、取值運算子,p指標變數(地址,型別與x一致),*p地址內容

int x;
int *p=&x; //定義指標變數p,儲存x的地址。int *p; p=&x;
*p=10;   //該地址內容為10,間接給x賦值
cout<<*p; //10
cout<<p;  //x的地址

void型別指標變數:(預先不指定指標變數的型別,之後強制轉換。即p可以指向任何型別)

int x=10;
void *p=&x;
cout<<*(int *)p; //注意強制轉換的格式

常變數指標:指向常變數時,使用常變數指標(也可以指向變數,更改指向)

const int x=10;
const int *p=&x;
cout<<*p;

指標常變數:指標型別的常變數p,不能再更改指向。

int x=10,y=20;
int * const p=&x;
p=&y; //錯誤