2010年9月1日 星期三
雙重指標
什麼是"雙重指標"!?
例如: "**str" <-這就是雙重指標
就用下列例子讓大家好好了解一下
#include<iostream>
using namespace std;
int main() {
int p = 10;
int *ptr1 = &p;
int **ptr2 = &ptr1;
cout << "p的值:" << p << endl;
cout << "p的記憶體位置:" << &p << endl;
cout << endl;
cout << "*ptr1 = " << *ptr1 << endl;
cout << "ptr1 = " << ptr1 << endl;
cout << "ptr1的記憶體位置:" << &ptr1 << endl;
cout << endl;
cout << "**ptr2 = " << **ptr2 << endl;
cout << "*ptr2 = " << *ptr2 << endl;
cout << "ptr2 = " << ptr2 << endl;
cout << endl;
cout << "整理:" << endl;
cout << "&p = " << &p << "\t\t" << "ptr1 = " << ptr1 << endl;
cout << "&ptr1 = " << &ptr1 << "\t" << "ptr2 = " << ptr2 << endl;
return 0;
}
執行結果:
p的值:10
p的記憶體位置:0x22ff74
*ptr1=10
ptr1=0x22ff74
ptr1的記憶體位置:0x22ff70
**ptr2=10
*ptr2=0x22ff74
ptr2=0x22ff70
整理:
&p=0x22ff74 ptr1=0x22ff74
&ptr1=0x22ff70 ptr2=0x22ff70
怕有人還是看不懂,所以用圖再解釋一次
這樣大家應該就比較瞭解了吧!
最後修改:
9/01/2010 05:25:00 上午
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言