c語言指針運(yùn)算 C語言指針到底是什么,該怎么用呢?
C語言指針到底是什么,該怎么用呢?在C語言中我們可以認(rèn)為指針就是地址,不過是某一個(gè)具體內(nèi)存單元的地址。如我們在c語言中定義了一個(gè)int型變量a:int a;那么計(jì)算機(jī)就會給a分配4個(gè)字節(jié)的地址(在vc
C語言指針到底是什么,該怎么用呢?
在C語言中我們可以認(rèn)為指針就是地址,不過是某一個(gè)具體內(nèi)存單元的地址。
如我們在c語言中定義了一個(gè)int型變量a:
int a;
那么計(jì)算機(jī)就會給a分配4個(gè)字節(jié)的地址(在vc 中,在某些版本的c語言中,可能是2個(gè)字節(jié))來存放a的值。由于在內(nèi)存中每個(gè)字節(jié)都有一個(gè)地址,那么哪個(gè)地址是a的地址呢?我們不能同時(shí)用4個(gè)地址來表示a的地址吧,所以在c語言中,我們拿這塊空間(4個(gè)字節(jié))的第一個(gè)字節(jié)的地址當(dāng)作變量a的地址,也就是首地址。
然后我們在定義一個(gè)指針變量,如:
int *p;
再用取地址運(yùn)算符把a(bǔ)的首地址取出來賦值給指針變量p,如:
pampa;
現(xiàn)在指針變量p里存放的就是a的地址,我們就稱p是a的指針。
c語言中兩個(gè)變量可以加減嗎?
c語言中兩個(gè)變量可以加減。
因?yàn)?,指針變量是有加減運(yùn)算的,但是要注意以下幾點(diǎn):
1,指針變量可以加減,但是只能與整型數(shù)據(jù)加減,此時(shí)加減的含義并不是其地址值進(jìn)行了加減。
2,指針變量的自加和自減實(shí)際上是與整數(shù)1的加減運(yùn)算。
3,指針之間可以比較大小。但是同樣也限于兩個(gè)相同類型的指針變量,不同類型的指針變量之間比較大小沒有任何意義。指針之間的大小比較的意義,表示在內(nèi)存中他們指向的位置的高低關(guān)系。