指標的算術運算

2021-06-25 23:03:24 字數 863 閱讀 4766

指標和陣列

指標和陣列在c語言中有錯綜複雜的聯絡。在前面的課程中,你學會了如何宣告陣列變數:

int anarray[5]; // declare array of 5 integers

關聯陣列實際上是指標,指向陣列的第乙個元素!

因為陣列變數

是指標,

你可以解析它

,它返回

陣列元素0

123

4567

int anarray[5] = ;

// dereferencing an array returns the first element (element 0)

cout << *anarray; // prints 9!

char szname = "jason"; // c-style string (also an array)

cout << *szname; // prints 'j'

指標的算術運算

c語言允許你在指標執行整數的加減運算。如果pnptr指向乙個整數,pnptr + 1 pnptr後在記憶體中的位址的下乙個整數。pnptr - 1是在pnptr以前的整數字址。

請注意,pnptr + 1不在pnptr返回位址,但下乙個物件,pnptr分型。如果pnptr指向乙個整數(假設4位元組),pnptr + 3意味著在pnptr 3個整數,這是12個位址後pnptr。如果pnptr指向乙個char,這始終是1位元組,pnptr + 3意味著在pnptr 3字元,這是3個位址後pnptr。

計算乙個指標的算術表示式的結果時,編譯器總是乘以整數運算元所指物件的大小。這就是所謂的縮放。

下面的程式:

指標的算術運算

指標可以加上或減去乙個整數的算術運算。首先來看個例子 include int main void short st 3 double pw wa short ps st 0 cout pw 分析上面的程式,我們可以看到,c 一般把陣列名和第乙個元素的位址等價,所以我們可以用上面的兩種方法初始化指標,...

指標的算術運算

指標的算術運算 c語言允許你在指標執行整數的加減運算。如果pnptr指向乙個整數,pnptr 1 pnptr後在記憶體中的位址的下乙個整數。pnptr 1是在pnptr以前的整數字址。請注意,pnptr 1不在pnptr返回位址,但下乙個物件,pnptr分型。如果pnptr指向乙個整數 假設4位元組...

指標的算術運算

指標 1 1同理 給定乙個陣列,陣列指標 1可能表示為三種情況 1.加乙個位元組 程式出錯 2.加整個陣列 這個操作完全沒意義。3.加乙個單元格 乙個單元格幾個位元組是根據定義的指標的型別來定的,例如char,指標加1就是乙個位元組,即乙個單元格。總結 指標加法需要調整 加1單元格 調整的權重為指標...