精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

計(jì)算機(jī)二級(jí)C基礎(chǔ):C語(yǔ)言指針的運(yùn)算

發(fā)布時(shí)間:2011-08-29 共1頁(yè)

  指針的運(yùn)算實(shí)質(zhì)是地址的運(yùn)算。c語(yǔ)言有一套適用于指針、數(shù)組等地址運(yùn)算的規(guī)則,正是這套規(guī)則賦予了C語(yǔ)言出色的處理能力。
  對(duì)于指針指向變量,能進(jìn)行基類(lèi)型數(shù)據(jù)所能進(jìn)行的全部運(yùn)算。
  1.引用運(yùn)算
  1)取地址運(yùn)算(&)
  取地址運(yùn)算“&”,我們已非常熟悉。對(duì)指針變量進(jìn)行取地址運(yùn)算,可以得到指針變量本身的地址。
  2)取內(nèi)容運(yùn)算(*)
  取內(nèi)容運(yùn)算“*”,前稱(chēng)指針運(yùn)算,用于獲取地址數(shù)據(jù)對(duì)應(yīng)存儲(chǔ)單元的內(nèi)容。取內(nèi)容運(yùn)算的優(yōu)先級(jí)與取地址運(yùn)算優(yōu)先級(jí)相同,也為第2級(jí),結(jié)合性亦為右結(jié)合。對(duì)指針變量,進(jìn)行取內(nèi)容運(yùn)算可以得到指針變量所指向的數(shù)據(jù)。
  取內(nèi)容運(yùn)算與取地址運(yùn)算實(shí)質(zhì)上是一對(duì)互逆運(yùn)算。例如:
  int a, p=&a;
  *(&a)就是a,&(*p)就是p;p指向a,*p與a等價(jià)。
  2.算術(shù)運(yùn)算
  指針變量可以進(jìn)行有限的算術(shù)運(yùn)算。
  1)加減運(yùn)算
  指針變量“加上”或“減去”一個(gè)整數(shù)n,相當(dāng)于指針變量加上或減去n個(gè)指針?biāo)赶驍?shù)據(jù)的存儲(chǔ)單位,即指針由當(dāng)前指向位置向后或向前移動(dòng)n個(gè)指針?biāo)赶驍?shù)據(jù)的存儲(chǔ)單位。
  加減運(yùn)算常用于數(shù)組的處理。對(duì)指向一般數(shù)據(jù)的指針,加減運(yùn)算無(wú)實(shí)際意義。例如;
  int a[10],*p=a,*x;
  x=p+3;/*實(shí)際上是p加上3*2個(gè)字節(jié)賦給x,x指向數(shù)組的第三個(gè)分量*/
  對(duì)于不同基類(lèi)型的指針,指針變量“加上”或“減去”一個(gè)整數(shù)n所移動(dòng)的字節(jié)數(shù)是不同的。例如:
  float a[10],*p=a,*x;
  p=p+3;/*實(shí)際上是p加上3*4個(gè)字節(jié)賦給x,x依然指向數(shù)組的第三個(gè)分量*/
  2)自增自減運(yùn)算
  指針變量自增、自減運(yùn)算具有上述運(yùn)算的特點(diǎn),但有前置后置、先用后用的考慮,務(wù)請(qǐng)小心。例如:
  int a[10],*p=a,*x;
  x=p++;/*x指向數(shù)組的第一個(gè)分量,p指向數(shù)組的第二個(gè)分量*/
  x=++p;/*x、p均指向數(shù)組的第二個(gè)分量*/
  *p++相當(dāng)于*(p++)。*(p++)與(*p)++含義不同,前者表示地址自增,后者表示當(dāng)前所指向的數(shù)據(jù)自增。
  3)指針相減
  指針相減得到兩指針之間數(shù)據(jù)的個(gè)數(shù),一般用于數(shù)組處理。
  3.關(guān)系運(yùn)算
  兩指針的關(guān)系運(yùn)算表示兩指針的先后位置關(guān)系,一般用于數(shù)組處理。除空指針外,不
  能進(jìn)行指針與一般數(shù)值的關(guān)系運(yùn)算。

百分百考試網(wǎng) 考試寶典

立即免費(fèi)試用