指標的運算

2021-10-18 13:15:58 字數 1229 閱讀 3499

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-usjjszb3-1612091359644)(e:\部落格\指標\指標運算\自增.png)]

1指標與整數的運算

指標加減數字表示的意義是指標在陣列中位置的移動;

對於整數部分而言,它代表的是乙個元素,對於不同的資料型別,其陣列的元素佔 

用的位元組是不一樣的,

比如指標 + 1,並不是在指標位址的基礎之上加 1 個位址,而是在這個指標位址的

基礎上加 1 個元素占用的位元組數:

 如果指標的型別是 char*,那麼這個時候 1 代表 1 個位元組位址;

 如果指標的型別是 int*,那麼這個時候 1 代表 4 個位元組位址;

 如果指標的型別是 float*,那麼這個時候 1 代表 4 個位元組位址;

 如果指標的型別是 double*,那麼這個時候 1 代表 8 個位元組位址。

(2)通用公式:

資料型別 *p; 

比如(1)對於 int 型別,比如 p 指向 0x0061ff14,則:

p+1 實際指向的是 0x0061ff18,與 p 指向的記憶體位址相差 4 個位元組;

p+2 實際指向的是 0x0061ff1c,與 p 指向的記憶體位址相差 8 個位元組

(2)對於 char 型別,比如 p 指向 0x0061ff28,則:

p+1 實際指向的是 0x0061ff29,與 p 指向的記憶體位址相差 1 個位元組;

p+1 實際指向的是 0x0061ff2a,與 p 指向的記憶體位址相差 2 個位元組;

指標的運算

指標運算 指標演算法並不依賴於指標的型別,如果p是乙個指向char的指標,那麼p 1就指向下乙個char 算術運算 指標的算數運算只限於兩種形式 指標運算只有用於陣列中其結果才是可以 的,對於任何並非指向陣列元素的指標執行算數運算其結果是非法的 1.指標 整數 結果也是指標 這種形式只能用於指向陣列...

指標的運算

指標的運算包括 1 指標的加法 2 指標的減法 char short int long long long float double 位元組數 1 2 2 4 4 8 4 8 int不加說明為4個位元組 對指標的加法而言 指標是不能加指標的 它只能加乙個數字 比如 指標 1 加乙個單元格 需要調整 ...

指標的運算

include int main int p arr p 10 p p 20 printf d,08x n arr 0 arr 1 return 0 指標 1的含義,首先思考一下指標 1可能的幾個含義 1 加整個陣列 這種含義不太符合實際,題中要的是遍歷陣列中的數。如果是加整個陣列,那就是直接跳過去...