定義指針變量時在變量類型和變量名中間加個 *, 指針變量的值本身是一個地址,在使用指針變量時,如果,在指針變量前加一個*表示取指針變量的值表示的地址中的內(nèi)容,如果不加*則表示取指針變量的值,就是指針變量存的地址。
2015-07-04
p;指針指向的變量地址
*p;指針指向的變量值
&p;指針自己所在的地址
既然一個指針保存的是變量的地址,對32位CPU,地址有4個字節(jié),就需要4個內(nèi)存單元來存儲,所以每次++p在內(nèi)存里都是跳4格。
*p;指針指向的變量值
&p;指針自己所在的地址
既然一個指針保存的是變量的地址,對32位CPU,地址有4個字節(jié),就需要4個內(nèi)存單元來存儲,所以每次++p在內(nèi)存里都是跳4格。
2015-06-25
C是靠傳入變量地址的方法來實現(xiàn)對變量的全局操作:void f(int *a); 使用:f(&a);
C++有個引用型就方便多了:
傳入普通變量:
void f(int &a) {++a;};
f(a); // a自增1
傳入指針:
void f(int *&p) {++p;};
f(p); // 此時,指針p的值自增1
C++有個引用型就方便多了:
傳入普通變量:
void f(int &a) {++a;};
f(a); // a自增1
傳入指針:
void f(int *&p) {++p;};
f(p); // 此時,指針p的值自增1
2015-06-25