c#中的二维数组和交错数组的区别
namespace 基本功修炼
{
class Program
{
static void Main(string[] args)
{
//定义二维数组
int[,] iArray = new int[2, 2];
iArray[0, 0] = 1; //给二维数组的第一个元素赋值
iArray[0, 1] = 2;
iArray[1, 0] = 3;
iArray[1, 1] = 4;
//交错数组
int[][] iArray1 = new int[2][];
iArray1[0] = new int[1]; //给交错数组中的第一个元素赋值
iArray1[0][0] = 1;
iArray1[1] = new int[2];
iArray1[1][0] = 2;
iArray1[1][1] = 3;
//输出二维数组中的内容
foreach (int item in iArray)
{
System.Console.WriteLine(item);
}
System.Console.WriteLine();
System.Console.WriteLine();
//输出交错数组当中的内容
foreach (int[] itemArray in iArray1)
{
foreach (int item in itemArray)
{
Console.WriteLine(item);
}
}
}
}
}
根据以上代码我们可以发现二维数组其实就是个矩阵形式,其中每个元素的都是int类型,因此直接遍历可以输出,并且是根据行下标0,0 0,1这样的形式输出。那么二维数组在内存中是什么形式,我们是以0,0下标解析出来的内存地址作为顺序存储空的首地址0,1 0,2分别是紧挨着的后面地址,然后才是行下标增加并且也是挨着上个内存的,为什么,因为内存是线性的。
交错数组是什么样呢。我们可以看成数组嵌套,每个元素又是数组,也就是保存的紧紧是数组的首地址,这样的话,每个数组的长度就随便了,这样每个元素对应的数组长度是任意的。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: java处理高并发高负载类网站的优化方法
- 下一篇: c# 一维数组和二维数组的定义几种方式