C語言 指針的算術(shù)運(yùn)算
指針雖然存放的是其他變量的地址,但也可以參與算術(shù)運(yùn)算。例如,指針可以加、減一個(gè)整數(shù),指針參與算術(shù)運(yùn)算的形式為:
(1)p+n, p-n: 一個(gè)指針加一個(gè)整數(shù)時(shí),將指針從當(dāng)前位置向前移動(dòng)n個(gè)數(shù)據(jù)單位,而不是n個(gè)字節(jié)。如圖所示。如果一個(gè)指針減一個(gè)整數(shù)時(shí),從當(dāng)前位置回退移動(dòng)n個(gè)數(shù)據(jù)單位。例如:
int a,*p=&a;
假設(shè)變量a的地址為2000,表達(dá)式p+2將指向2000+2*sizeof(int),即2008地址單元處。
(2)p++, p--:p++, p—操作實(shí)際上是p+n、p-n的特例,將指針向前(或向后)移動(dòng)一個(gè)數(shù)據(jù)單元。
(3)p-q:兩個(gè)指針做減法,結(jié)果是兩個(gè)指針間相隔的元素的個(gè)數(shù),具體可參見指針與數(shù)組部分的介紹。
點(diǎn)擊加載更多評論>>