怎么声明一个动态的数组,数组的元素是指向数组的指针?

来源:百度知道 编辑:UC知道 时间:2024/05/23 21:15:27
就是想声明一个元素个数是动态的数组,而且数组的元素的类型是指向一个整型数组的指针类型的。应该怎么声明??

cin>>n;
int * a=new * int[n]:
编译错误。
这样不行,这是只是声明了一个元素,一个指向整型数组的元素。现在要声明一组元素。
cin>>n;
int * a=new int[n]:

int main()
{
int **a = new (int *)[3];

int m[] = {1, 2, 3};
int n[] = {2, 3, 4};
int o[] = {3, 4, 5};

a[0] = m;
a[1] = n;
a[2] = o;

for (int i = 0; i < 3; i ++)
{
for (int j =0; j < 3; j ++)
{
printf("%d - %d: %d\n", i, j, a[i][j]);
}
}
}

cin>>n;
int * a=new int[n]:

这样就行了

Win32环境下VC6.0

cin>>n;
int * a=new int[n];
int array0[10] = {1,2,3}; //整型数组0
int array1[20] = {4,5,6}; //整型数组1
a[0] = (int)array0;//整型数组0的指针放到数组a里
a[1] = (int)array1;//整型数组1的指针放到数组a里
printf("%d\n",((int*)a[0])[1]);//a[0]是a的一个元素,是int型的,但它里面放的是arrar0这个整型数组的地址,所以把它强转为int*型。输出2
printf("%d\n",((int*)a[1])[2]);//输出6