C#多維數(shù)組簡(jiǎn)單描述
在向大家詳細(xì)介紹C#數(shù)組之前,首先讓大家了解下C#多維數(shù)組,然后介紹如何分解C#多維數(shù)組。
C#多維數(shù)組
但所有其他語(yǔ)言都把這稱(chēng)為“數(shù)組的數(shù)組”
◆C語(yǔ)言里有一種別的語(yǔ)言稱(chēng)為數(shù)組的數(shù)組的形式,但C語(yǔ)言稱(chēng)它為多維數(shù)組。
◆C語(yǔ)言中的數(shù)組就是一維數(shù)組,而這個(gè)數(shù)組的元素可以是另一個(gè)數(shù)組。
編譯器在編譯時(shí)會(huì)把carrot[i][j]解析為*(*(carrot+i)+j)的形式。
如何分解C#多維數(shù)組
在“數(shù)組的數(shù)組的數(shù)組”中的每一個(gè)單獨(dú)的數(shù)組都可以看作是一個(gè)指針。這是因?yàn)樵诒磉_(dá)式中的數(shù)組名被編譯器當(dāng)作“指向數(shù)組***個(gè)元素的指針”。
內(nèi)存中數(shù)組是如何布局的
在C#多維數(shù)組中,最右邊的下標(biāo)是***變化的,這個(gè)約定稱(chēng)為“行主序”。如何對(duì)數(shù)組進(jìn)行初始化,只能夠在數(shù)組聲明時(shí)對(duì)它進(jìn)行整體的初始化。之所以存在這個(gè)限制,并沒(méi)有過(guò)硬的理由。在IEEE754標(biāo)準(zhǔn)浮點(diǎn)數(shù)實(shí)現(xiàn)中,0.0和0的位模式是完全一樣的。
初始化二維字符串?dāng)?shù)組:
- char vegetables[][9] =
- {
- "beet",
- "barley",
- "basil",
- "broccoli",
- "beanes"
- };
一種有用的方法是建立指針數(shù)組,字符串常量可以數(shù)組初始化值:
- char *vegetables[] =
- {
- "beet",
- "barley",
- "basil",
- "broccoli",
- "beanes"
- };
【編輯推薦】