参考信息: 比如: java中 int []an = new int[10]; for(int i=0; i<10;i++){ an[i] = new int[10];//ERROR } JS中 var an = new Array(10); for(var i=0; i<10;i++){ an[i] = new Array(10);//OK } 以上是实现是分别在Java(不能通过)和Javascript(通过)中,不知道在其它语言中能否通过,尤其是带指针的语言(C\C++)中? 附:感谢各位
LZ举的例子就是个问题
Java这种强类型的语言,你要二维数组,就得事先声明好
int[][] a= new int[10][];
for (int i = 0; i < 10; i++) {
a[i] = new int[10];
}
反观javascript,由于它是弱类型(无类型),所以它的一维数组里面放什么元素都可以,比如一维数组,这样一来,就成了LZ所谓的二维数组。
从这个角度来看,所有强类型的语言都无法直接打到LZ需要的效果,所有弱类型的语言都可以,比如Python,Ruby……
int **p =NULL;
p= new int*[10];
for (int i=0;i<10;++i)
{
p[i] = new int[10];
}
for (int i=0;i<10;++i)
{
delete []p[i];
p[i] = NULL;
}
delete []p;
p = NULL;