数组的基本指针算法

时间:2014-09-11 20:11:18

标签: pointers

执行

后,array和p的值是多少?
int array[] = {1,2,3}, *p = array;

a. *p++;
b. (*p)++;
c. *p++; (*p)++

我知道答案是

a) array = {1,2,3} and *p = 2 
b) array = {2,2,3} and *p = 2
c) array = {1,3,3} and *p = 3

但我只是不明白如何。解释会很棒!

1 个答案:

答案 0 :(得分:1)

p最初指向数组的第一个元素,所以

  • 一个。将指针移动到指向下一个元素,即2。
  • 湾取消引用p,即1,然后将其增加1,变为2。
  • ℃。第一部分与a相同。所以指针指向第二个元素,然后你取消引用它,得到2,然后将它增加1,你得到3。