指標的算術運算

2021-09-14 03:44:19 字數 1016 閱讀 5400

#includeint main()

; int *p = arr;

*p = 10;

p++;

printf("%d,%d\n",arr[0],arr[1]);

return 0;

}

p++是如何實現的?我們可有一下猜測:

1.加乙個位元組。

2.加乙個單元格。

1.加乙個位元組

即為加乙個位元組後的情況。因為指標在32位編譯器中佔4個位元組,紅色位指標p所佔的空間,將p=10後的結果:

列印a[0]的值就是列印: 0a01的值,結果會事與願違,(等於2561)並不是我們想要的,所以猜想1是錯誤的.

2.加乙個單元格

我們可以得出結論:

**指標的算術運算 +,-

指標+i,表示加i個單元格,其加isizeof(指標本身去掉乙個*)位元組**

例如:char arr=「abcd」

short brr=

int crr=

double drr=

char *p1=arr// p1++,加乙個單元格 1個位元組

short *p2=brr// p2++,加乙個單元格 2個位元組

int *p3=crr// p3++,加乙個單元格 4個位元組

double *p4=drr// p4++,加乙個單元格 8個位元組

指標的算術運算

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

指標的算術運算

指標和陣列 指標和陣列在c語言中有錯綜複雜的聯絡。在前面的課程中,你學會了如何宣告陣列變數 int anarray 5 declare array of 5 integers 關聯陣列實際上是指標,指向陣列的第乙個元素!因為陣列變數 是指標,你可以解析它 它返回 陣列元素0 123 4567 int...

指標的算術運算

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