1 using System;
2 using SystemCollectionsGeneric;
3 using SystemLinq;
4 using SystemText;
5
6 namespace ConsoleApplication1
7 {
8 class Program
9 {
10 static void Main(string[] args)
11 {
12 // 定义一个二维数组 其实可以把二维数组看作一个表 例如
13 / 0 1 2 3 4 ------------列等于i 维
14 ----------------
15 0 | | | | | |
16 ----------------
17 1 | | | | | |
18 ----------------
19 2 | | | | | |
20 ----------------
21 3 | | | | | |
22 ↓ ----------------
23 ↓
24 ↓
25 行代表 j 维
26 /
27
28 int[,] array = { { 1, 2, 3 },
29 { 4, 5, 6 },
30 { 7, 8, 9 } }; // 这是一个三行三列的二维数组
31 // 现在我们来把这个二维数组输出在屏幕上 用两个for循环来实现, 一个控制行,一个控制列
32
33 for (int i = 0; i < 3; i++) // 因为只有三行, 而且数组下标是从0开始的,所以要小于三
34 {
35 for (int j = 0; j < 3; j++) //同理, 只有三列, 所以要小于三
36 {
37 ConsoleWrite(array[i,j] + "\t");
38 }
39 ConsoleWriteLine();
40 } /
41 打印结果为 1 2 3
42 4 5 6
43 7 8 9
44 /
45
46 // 接下来做一个实例 , 用二维数组打印一个矩阵出来
47 string[,] Chess = new string[11, 19]; //声明一个二维数组
48 for (int a = 0; a < 11; a++) // 控制行,
49 {
50 for (int b = 0; b < 19; b++) //控制列
51 {
52 if (b % 2 != 0)
53 Chess[a, b] = "—";
54 else
55 Chess[a, b] = "|";
56 ConsoleWrite(Chess[a, b]);
57 }
58 ConsoleWriteLine();
59 }
60
61 / 打印结果
62 |—|—|—|—|—|—|—|—|—|
63 |—|—|—|—|—|—|—|—|—|
64 |—|—|—|—|—|—|—|—|—|
65 |—|—|—|—|—|—|—|—|—|
66 |—|—|—|—|—|—|—|—|—|
67 |—|—|—|—|—|—|—|—|—|
68 |—|—|—|—|—|—|—|—|—|
69 |—|—|—|—|—|—|—|—|—|
70 |—|—|—|—|—|—|—|—|—|
71 |—|—|—|—|—|—|—|—|—|
72 |—|—|—|—|—|—|—|—|—|
73
74 /
75 }
76 }
77 }
c语言中,数组元素的下标下限为0。
数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。
对于VB的数组,表示数组元素时应注意:下标必须为一段连续的整数,其最小值成为下界,其最大值成为上界,不加说明时下界值默认为1。
扩展资料:
数组声明上下界
声明数组时,在数组名之后跟一个用括号括起来的上界。
上界不得超过 Long数据类型的范围(-2,147,483,648 到 2,147,483,647)。
1、模块声明
Dim Counters (14) As Integer '15 个元素。
Dim Sums (20) As Double '21 个元素。
第一个声明建立了一个有 15 个元素的数组,其索引号从 0 到 14。
第二个声明建立了一个有 21 个元素的数组,其索引号从 0 到 20。缺省的下界为 0。
2、关键字 To 显式声明
Dim Counters (1 To 15) As Integer
Dim Sums (100 To 120) As String
在前述声明中,Counters 的索引值范围从 1 到 15,而 Sums 的索引值范围从 100 到 120。
参考资料来源:百度百科_数组
一步,打开eclipse开发工具,新建静态页面lastIndexOfhtml,如下图所示:
第二步,在<script></script>内编写代码,声明两个变量E1和E2,如下图所示:
第三步,预览该静态页面,打开浏览器控制台,查看打印结果,如下图所示:
第四步,再次修改代码,lastIndexOf方法内第一个参数设置为数组中没有的元素,如下图所示:
第五步,再次预览该静态页面,发现打印的结果为“-1”,说明没有查找到该元素,如下图所示:
第六步,再次修改代码,添加第二个参数,从倒数第二个开始查找,如下图所示:
C语言程序运行时,数组的存在形式是内存中的一块连续地址空间。而访问数组元素时,计算机会将下标做为空间首地址的偏移量来进行寻址,所以当然可以是任何整形数。
比如int array[10],array的地址是0x7FFFFF00,那么在访问array[3]时,计算机是这样计算的:
每个整形数大小为4个字节,所以用array的地址加上3乘以4,得到0x7FFFFF0C,那么从0x7FFFFF0C到0x7FFFFF0F这4个字节的值就是array[3]的值。
所以无论传入的下标是什么,理论上都可以计算得到一个地址,但是这个地址不一定是有效的。如果地址无效,就会发生段错误(segmentation fault),也即数组越界/地址访问越界。现在的编译器会认为只要下标是个整型变量,就是可以的,但是执行的时候 *** 作系统仍然会进行监测,否则会影响其他程序的运行。
比如说a = {1, 2, 4, 5, 7}, b = { 1, 2, 3, 4, 5, 6, 7, 8 },那么b[a[3]] = b[5]=6,这个是可以允许的。
一定要用模板吗?
对于结构体元素查找,可能会用到根据其中几个元素来比较,或者所有元素来比较
所以最好可以专门写函数来查找
比如
int find(struct stu array, int value)
{
int i;
for(i=0;i<length;i++)//这个length可以通过全局变量 也可以改成从参数传过来
if(array[i]m == value) break;
return i;
}
这个是查找m的
如果对于结构体查找的元素是固定的,比如值查找m,或者只有当所有元素值相等时才算找到
可以重载 *** 作符==
以上就是关于c#定义的二维数组 如何获取数组下标啊全部的内容,包括:c#定义的二维数组 如何获取数组下标啊、c语言中,数组元素的下标下限为、javascript中知道一个数组中的一个元素的值,如何获取数组下标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)