小编gau*_*cha的帖子

数组元素值,元素地址和指针增量

这是一个非常基本的概念.但是,我一般都很困惑.帮我.

情况1:

对于以下代码:

int oneDArray[] = {1,2,3};
cout<<&oneDArray<<endl;
cout<<oneDArray<<endl;
cout<<&oneDArray+1<<endl;
cout<<oneDArray+1<<endl;
Run Code Online (Sandbox Code Playgroud)

输出是:

0x28fef4
0x28fef4
0x28ff00
0x28fef8
Run Code Online (Sandbox Code Playgroud)

为什么增量值有差异?

案例2:

  int arr[2][3] = {{1,2,3}, {4,5,6}};
  cout<<&arr<<endl;
  cout<<arr<<endl;
  cout<<*arr<<endl;

  cout<<&arr+1<<endl;
  cout<<arr+1<<endl;
  cout<<*arr+1<<endl;
Run Code Online (Sandbox Code Playgroud)

输出是:

0x28fee8
0x28fee8
0x28fee8
0x28ff00
0x28fef4
0x28feec
Run Code Online (Sandbox Code Playgroud)

为什么arr&*arr的输出相同?(内部如何工作)为什么增量值有差异?

c++ arrays pointers multidimensional-array memory-address

0
推荐指数
1
解决办法
7102
查看次数