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