增加函数中的指针

时间:2015-10-21 13:13:44

标签: c++ c arrays pointers

我有以下功能:

void foo(int arr[])
{
   arr++;        // No error. If I dereference arr and print it, I get 2
}

int main()
{
  int x[3];
  x[0]=1;
  x[1]=2;
  x[2]=3;
  foo(x);       //No error
  x++;          //Error. 
}

为什么我在foo()执行操作时没有出错,但是当我在main中执行操作时我得到一个错误? 据我所知,foo()中的arr和main()中的x都指向完全相同的位置,即x中的第一个元素。所以我应该能够同时执行x ++和arr ++。

0 个答案:

没有答案