C語言 指標的算術運算

2021-10-23 06:47:47 字數 937 閱讀 2476

ptr++
在執行完上述的運算之後,ptr將指向位置 1004,因為 ptr 每增加一次,它都將指向下乙個整數字置,即當前位置往後移 4 位元組。這個運算會在不影響記憶體位置中實際值的情況下,移動指標到下乙個記憶體位置。如果ptr指向乙個位址為 1000 的字元,上面的運算會導致指標指向位置 1001,因為下乙個字元位置是在 1001。

我們概括一下:

當上面的**被編譯和執行時,它會產生下列結果:

儲存值:var[0] = 10

儲存值: var[1] = 100

儲存值:var[2] = 200同樣地,對指標進行遞減運算,即把值減去其資料型別的位元組數,如下所示:

當上面的**被編譯和執行時,它會產生下列結果:

儲存值:var[2] = 200

儲存值:var[1] = 100

儲存值:var[0] = 10指標可以用關係運算子進行比較,如 ==、< 和 >。如果 p1 和 p2 指向兩個相關的變數,比如同乙個陣列中的不同元素,則可對 p1 和 p2 進行大小比較。

#include const int max = 3; int main () ; int i, *ptr; /* 指標中第乙個元素的位址 */ ptr = var; i = 0; while ( ptr <= &var[max - 1] ) return 0; }

當上面的**被編譯和執行時,它會產生下列結果:

address of var[0] = bfdbcb20

value of var[0] = 10

address of var[1] = bfdbcb24

value of var[1] = 100

address of var[2] = bfdbcb28

value of var[2] = 200

C語言 指標的算術運算

一 指標加法 1 指標 1 1 加乙個位元組 2的16進製表示 ox 00000002 20的16進製表示 ox 00000014 ox 0000140a 轉化為十進位制為 5130 2 加乙個單元格 直接arr 1 20 3 加整個陣列 沒意義,直接跳出了陣列 綜上指標 1表示加乙個單元格最為合適...

C語言之指標的算術運算

遞增指標 include stdafx.h const int max 3 const 是定義常量具有不可變性 int main 定義整型陣列var int i,ptr 定義整型變數i和指標ptr ptr var 宣告ptr的位址是var for i 0 i遞減指標 include stdafx.h...

每日乾貨丨C語言指標的算術運算

c 指標是乙個用數值表示的位址。因此,您可以對指標執行算術運算。可以對指標進行四種算術運算 ptr 在執行完上述的運算之後,ptr 將指向位置 0x1004,因為 ptr 每增加一次,它都將指向下乙個整數字置,即當前位置往後移 4 位元組。這個運算會在不影響記憶體位置中實際值的情況下,移動指標到下乙...