问题关键是如何初始化这一个指针数组,使得*a[2], a[3][5], !a[0]都满足题目的条件
#include <iostream>
using namespace std;
int main()
{
int * a[] = {
// 在此处补充你的代码,使输出为123,456
};
*a[2] = 123;
a[3][5] = 456;
if(! a[0] ) {
cout << * a[2] << "," << a[3][5];
}
return 0;
}
由于数组a的每个元素均为一个指针,因此可以分别初始化每一指针,就是给每个分配一段连续的内存空间,因此使用new进行动态内存分配。
int * a[] = {nullptr,nullptr,new int [3],new int[6]};
这是一种可行的方法。
本题中,学到了可以通过new对int *a[ ]进行动态内存分配。