int *p, *q;
int a = 10;
//下面这几个到底有啥区别呢,跪求指点内部原理
*p = &a; // 現在指針p指向 a 的內存地址
p = &a; // 把&a複製到p ,也就說現在 p的內容變成a 的地址
q = &p; //同上 把&p複製到q ,也就說現在 q的內容變成p 的地址
*q = *p; //把p 的位置 複製到 q 的位置
p = q; // 把q 內容複製到p的內容
q = *p; // 把p 的地址 複製到q的內容
這題有兩個重點
第一點:
“&”是用來找出後面變數的地址 這點很重要
int *p, *q; //宣告 p , q 是指向int的 (pand q are pointer to int )
第二點:
所謂的等號 “=“ 就是說 “把右邊的東西丟到左邊”
明白這兩點之後 題目就解開了
|