在向大家详细介绍C#数组之前,首先让大家了解下C#多维数组,然后介绍如何分解C#多维数组。
C#多维数组
但所有其他语言都把这称为“数组的数组”
◆C语言里有一种别的语言称为数组的数组的形式,但C语言称它为多维数组。
◆C语言中的数组就是一维数组,而这个数组的元素可以是另一个数组。
编译器在编译时会把carrot[i][j]解析为*(*(carrot+i)+j)的形式。
如何分解C#多维数组
在“数组的数组的数组”中的每一个单独的数组都可以看作是一个指针。这是因为在表达式中的数组名被编译器当作“指向数组***个元素的指针”。
内存中数组是如何布局的
在C#多维数组中,最右边的下标是***变化的,这个约定称为“行主序”。如何对数组进行初始化,只能够在数组声明时对它进行整体的初始化。之所以存在这个限制,并没有过硬的理由。在IEEE754标准浮点数实现中,0.0和0的位模式是完全一样的。
初始化二维字符串数组:
char vegetables[][9] =
{
"beet",
"barley",
"basil",
"broccoli",
"beanes"
};
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
一种有用的方法是建立指针数组,字符串常量可以数组初始化值:
char *vegetables[] =
{
"beet",
"barley",
"basil",
"broccoli",
"beanes"
};
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
【编辑推荐】