1、理解内存中數據、變量和地址之間的關係
變量在内存中佔有一席之地,而數據在變量中,被變量所存儲,每個變量都對應一個地址。如果把變量理解成某一實物,如人,他存儲這一些數據,如身高、體重等,他所在空間(如中國的某個城市中)的位置(具體的坐標)就可以理解成地址。上面是我個人的理解方式,也許對你有幫助。
2、指針也是一個變量,只不過該變量中存儲的是另一個對象的内存地址。
3、指針變量(簡稱為指針)用來存儲一個變量的地址,所以指針值是可以賦值的。 看下面的例子:
int x;
int *Ptr_x;
int temp;
ptr_x = &x;
temp = *ptr_x;
4、指針可以進行賦值運算、加減運算以及關係運算。看下面的例子:
……
ptr1 = ptr2; //指針之間的 賦值運算;
……
int a[5],*pa;
pa = a; //把數組的首地址賦值給指針變量pa; pa = &a[0];
pa = a+3; // 或者寫成 pa = &a[3]
……
int *ptr,arr_num[10];
ptrnum = arr_num;
ptrnum++; //指針遞加或遞減;
……
if (ptrnum1 == ptrnum2) //指針之間的關係運算;
……