不知道楼主想要的是什么效果,new关键字是用于动态开辟堆内存用的,不能对动态数组进行初始化,只能对一个对象进行初始化,如
int *p = new int(1); 通过
int *p = new int[10](1); 编译错误
还有,指向数组的指针的数组宽度必须是静态固定的,不能是可变的,如果要实现一维不定长度的数组,可用一级指针,如
int *p = new int[n]; p指针指向一个开辟n个连续int型内存大小的首地址,可用数组方式对其进行访问,如p[0] = 1;
如果要实现二维不定长度的数组,可用二级指针,如
int **pp = new int*[n];
int i;
for(i = 0; i < n; i++)
pp[i] = new int[m];
即可开辟一个n*m的数组,另外,第二维数组的大小不一定都得是m,可根据需要自己动态设定,不过得注意指针越界