这是一个非常基本的概念.但是,我一般都很困惑.帮我.
情况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的输出相同?(内部如何工作)为什么增量值有差异?