// 指針
// 指針是一個變量,其值爲另一個變量的地址,即,內存位置的直接地址。
// 就像其他變量或常量一樣,必須在使用指針存儲其他變量地址之前,對其進行聲明。
// *在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
}