指針學習,新手
指針就是保存地址的變量
int i;
int* p = &i;
int* p,q;
int *p,q;
指針變量
• 變量的值是內存的地址
• 普通變量的值是實際的值
• 指針變量的值是具有實際值的變量的地址
0.png (6.55 KB, 下載次數: 74)
下載附件
2018-11-11 14:16 上傳
作為參數的指針
void f(int *p);
在被調⽤的時候得到了某個變量的地址:
int i=0; f(&i);
在函數⾥⾯可以通過這個指針訪問外⾯的這個i
訪問那個地址上的變量*
• *是⼀個單⺫運算符,⽤來訪問指針的值所表⽰的地
址上的變量
• 可以做右值也可以做左值
• int k = *p;
• *p = k+1;
*左值之所以叫左值
• 是因為出現在賦值號左邊的不是變量,⽽是值,是表
達式計算的結果:
• a[0] = 2;
• *p = 3;
• 是特殊的值,所以叫做左值
指針的運算符&*
• 互相反作⽤
• *&yptr -> * (&yptr) -> * (yptr的地
址)-> 得到那個地址上的變量 -> yptr
!
• &*yptr -> &(*yptr) -> &(y) -> 得到y的地
址,也就是yptr -> yptr
0.png (117.17 KB, 下載次數: 66)
下載附件
2018-11-11 14:18 上傳
完整的pdf格式文檔51黑下載地址:
2 指針計算.pdf
(523.22 KB, 下載次數: 34)
2018-11-11 14:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1 指針.pdf
(337.22 KB, 下載次數: 35)
2018-11-11 14:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|