不同语言,哪些可以从已定义的一维数组转换成二维及以上数组?

不求苟同 2013-01-04 01:46:32
参考信息:

比如:

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++)中?



附:感谢各位大神参与回答,谢谢
...全文
169 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ForestDB 2013-01-05
  • 打赏
  • 举报
回复
LZ举的例子就是个问题 Java这种强类型的语言,你要二维数组,就得事先声明好 int[][] a= new int[10][]; for (int i = 0; i < 10; i++) { a[i] = new int[10]; } 反观javascript,由于它是弱类型(无类型),所以它的一维数组里面放什么元素都可以,比如一维数组,这样一来,就成了LZ所谓的二维数组。 从这个角度来看,所有强类型的语言都无法直接打到LZ需要的效果,所有弱类型的语言都可以,比如Python,Ruby……
赵4老师 2013-01-04
  • 打赏
  • 举报
回复
电脑内存只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、……
MoreWindows 2013-01-04
  • 打赏
  • 举报
回复
在C++中肯定可以,还有另一处方法,楼主可以参考《如何在C/C++中动态分配二维数组》 http://blog.csdn.net/morewindows/article/details/7664479
lee_鹿游原 2013-01-04
  • 打赏
  • 举报
回复

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;

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧