下面程序两个输出结果是一样的。
#include<iostream>
using namespace std;
int main()
{
int a[2][3]={0};
cout<<a<<endl;
cout<<&a[0][0]<<endl;
}答案A。指针和数组的代码追踪:画出变量和指针的内存示意图,追踪每次赋值后值的变化。
指针和数组追踪时画内存布局图可以大大简化理解。
【考点】数组名退化为指针|指针运算|输出流行为
GESP 四级"指针基础"模块。命题人专抓初学者对"数组名即指针"这一核心规则的认知盲区——明明敲的是数组名,编译器却把它当作指针处理,这是 C++ 最隐蔽的语法陷阱之一。