1译仗、一維數(shù)組
定義一個指針P
賦值p=&a[0]
a+i=&a[i]=p+i
*(a+i)=a[i]? ? ? 僅當(dāng)p指向數(shù)組的首地址時,指針下標(biāo)表示法引用數(shù)組元素寸谜。p[i]=*(p+i)=a[i]
2烛芬、二維數(shù)組
(1)行指針惶洲。
定義格式:類型關(guān)鍵字 (*p)[常量N]
例如:int (*p)[4]表示定義了一個可指向4個整型數(shù)的一維數(shù)組的指針p(常量N規(guī)定了行指針?biāo)赶虻囊痪S數(shù)組的長度抓督,不可省略)
初始化方法:p=a或p=a[0]杉允。其中a表示二維數(shù)組的首地址相當(dāng)于&a[0][0]邑贴。而a[0]表示二維數(shù)組時為a[0]+0,即&a[0][0]
用行指針表示二維數(shù)組a[i][j]各等價形式:
p[i][j]
*(p[i]+j)
*(*(p+i)+j)
(*(p+i)[j])
(2)列指針
定義格式:和普通變量指針定義格式相同叔磷。
例如;int *p表示定義了一個列指針p
初始化方法:p=a[0]或p=*a參照行指針初始化時的解釋拢驾。
用列指針表示二維數(shù)組a[i][j]的各等價形式:
*(p+i*n+j)
p[i*n+j]
注意:不能用p[i][j]表示a[i][j].實際上通過列指針引用二維數(shù)組a[i][j],后可將二維數(shù)組看成一個有m行*n列個元素組成的一維數(shù)組。而p[i][j]表示的是一個二維數(shù)組改基。