指標與參照
取"址"運算子 &
取"值"運算子 *
EX:
double X = 3.8;
double* p = &X;
==> *p 是X的內容 3.8
&X是p的內容,亦即X的位址
陣列與指標的代數計算
一. 一維陣列就是向量
double NCHU[m];
第n+1個元素,也就是NCHU[n]的位址為
&NCHU[0]+ n*sizeof(double)
二. 二維陣列
double NFU[m][n];
元素 NFU[i][j]的位址為
&NFU[0][0]+(i*n+j)*sizeof(double)
三.指標代數
[1] 一個向量NCNU, 再定義一個指標變數yukuan
則下面兩式可以將NCNU[0]的位址存到yukuan裡面:
(1) yukuan = &NCNU[0];
(2) yukuan = NCNU;
[2] 藉由指標變數yukuan,一維陣列元數可以使用取值運算子*獲得
(1) *yukuan //相當於NCNU[0]
(2) *(yukuan+i) //相當於NCNU[i]
*++yukuan 相當於*(++yukuan) 先增加指標再取用元素
*yukuan++ 相當於*(yukuan++) 先取用元素再增加指標
*--yukuan 相當於*(--yukuan) 先減少指標再取用元素
*yukuan-- 相當於*(yukuan--) 先取用元素再減少指標
二維陣列指標
亦即"陣列"
double NCHU[m][n];
NCHU[0][0] *NCHU[0]
NCHU[0][1] *(NCHU[0]+1)
NCHU[1][0] *NCHU[1]
NCHU[1][1] *(NCHU[1]+1)
沒有留言:
張貼留言