C++指針與引用(*和&)

// 指針

// 指針是一個變量,其值爲另一個變量的地址,即,內存位置的直接地址。
// 就像其他變量或常量一樣,必須在使用指針存儲其他變量地址之前,對其進行聲明。
// *在C++中可做指針使用,聲明方式爲:
int    *ip;    /* 整型的指針 */
double *dp;    /* double 型的指針 */
float  *fp;    /* 浮點型的指針 */
char   *ch;    /* 字符型的指針 */
// *的作用是取p地址對應的值。&此時的作用是取地址,則有例子:
int main(){
    int var = 20;
    int *p;  //聲明指針
    
    p = &var;     //取了var的16進制地址,此時p是地址, *p=20, var=20
    
}

--------------------------------------------
// 引用

// 引用變量是一個別名,即它是某個已存在變量的另一個名字。
// 把引用初始化爲某個變量之後,就可以使用該引用名稱或變量名稱來指向變量。
// 引用很容易與指針混淆,它們之間有三個主要的不同:
// 1)不存在空引用。引用必須連接到一塊合法的內存。
// 2)一旦引用被初始化爲一個對象,就不能被指向到另一個對象。
// 指針可以在任何時候指向到另一個對象。
// 3)引用必須在創建時被初始化。指針可以在任何時間被初始化。

int main(){
    int i;
    
    int& j = i;  //聲明引用j指向i
    
    i = 5; //此時i和j的值都變爲了5
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章