今天写一个东西时,突然发现将一些语言的数组申明弄混淆了。特写下来,加强记忆。
1、C++
//一维数组 type name[]; //如 int number[]={1,2,3,4,5}; //二维数组 type name[][] //如 int number[2][3]={{1,2,3},{1,2,3}}; int number[2][3]={1,2,3,4,5,6};2、C#
//一维数组 type [] name; //如 int [] number=new int[5]; or int [] number; //二维数组 type [,] name; //如 int[,] name; name=new int[2,2]; //多维数组 type[,,,....] name;3、java
//一维数组 int[] arr1=new int[10]; int[] arr2={1,2,3,6}; int[] arr3=new int[]{1,2,3,4,5,6,7,22}; //二维数组 type [][]name; int [][] arr=new arr[2][2]; or int [][]arr1; arr1=new arr1[2][2];
4、php
//一维数组 数组名=arry(); //如: $arr=arry(); $arr[0]=1; $arr[1]=2; //二维数组 //如 $cars = array ( array("Volvo",100,96), array("BMW",60,59), array("Toyota",110,100) ); echo $car[0][0]; Volvo; or $sites = array ( "google"=>array ( "Google 搜索", "http://www.google.com" ), "taobao"=>array ( "淘宝", "http://www.taobao.com" ) ); echo $sites ["google"][0]; Google 搜索
5、python
//python 中的数组叫做元组和列表 //元组是使用"()"而列表是使用"[]" //如 tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5 ); tup3 = "a", "b", "c", "d"; //创建空元组 tup1 = (); //元组中只包含一个元素时,需要在元素后面添加逗号 tup1 = (50,); //访问 数组名["下标"] //列表 list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; //使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示 print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5] //以上实例输出结果: list1[0]: physics list2[1:5]: [2, 3, 4, 5] //下面是二维数组的定义: //直接定义: a=[[1,1],[1,1]] //这里定义了一个2*2的,且初始为0的二维数组。 //间接定义: a=[[0 for x in range(10)] for y in range(10)] //这里定义了10*10初始为0的二维数组。 //还有更简单的字义二维数组的方法: //定义10*10初始为0的二维数组。 b = [[0]*10]*10 //与 a=[[0 for x in range(10)] for y in range(10)] //比较: print a==b 的结果为True。 但用b的定义方法代替a后,以前的可以正常运行的程序也出错了,经过仔细分析得出区别: a[0][0]=1时,只有a[0][0]为1,其他全为0。 b[0][0]=1时,a[0][0],a[1][0],只到a[9,0]全部为1。 由此得到大数组中的10个小的一维数据全是一个相同的引用,即指向同一地址。 故 b = [[0]*10]*10并不符合我们常规意义上的二维数组。