數(shù)據(jù)庫管理系統(tǒng) 下列對數(shù)組定義不正確的是?
下列對數(shù)組定義不正確的是?[D不正確原因:未指定數(shù)組的維數(shù)。數(shù)組的定義必須指定維度。如果未指定維度,則數(shù)組初始化列表中的元素數(shù)決定B。如果已定義維度但未初始化所有元素,則系統(tǒng)將自動初始化為0。C是答案
下列對數(shù)組定義不正確的是?
[D不正確
原因:未指定數(shù)組的維數(shù)。數(shù)組的定義必須指定維度。如果未指定維度,則數(shù)組初始化列表中的元素數(shù)決定B。如果已定義維度但未初始化所有元素,則系統(tǒng)將自動初始化為0。C是答案。
什么是數(shù)組維數(shù)?
類型a屬于類型*(類型是您預(yù)先為類型定義的類型),即類型指針。所以a的值是一個內(nèi)存地址。如果a是一維數(shù)組,那么a指向第一個元素。如果a是二維數(shù)組,也可以看作一維數(shù)組,那么它的元素就是它的行向量。例如,{2,2},{3,4}。既然a也被看作一維數(shù)組,那么*a就是它的第一個“元素”——它的第一行。第一行也是一個數(shù)組,所以*a是指向第一行數(shù)組的指針。那么,**a是第一行的第一個元素a[0][0],*(*a1)是第一行的第二個元素a[0][1]。在下面的示例中,它顯示a和*a的值是相同的,但是應(yīng)該注意,相同的地址并不意味著它們指向相同的位置。事實上,如果你試著用1和1,你會發(fā)現(xiàn)它們并不相等。正是因為它們的含義不同。由于它們的含義不同,我們可以通過地址運算來表達相應(yīng)位置的元素。例如,*(*(a1)1)表示[1][1]。如果a是高維的,那么它的本質(zhì)就是數(shù)組嵌套,所以按照上面的方法很容易得到。下面的例子是一個很好的例子。事實上,直到我看到這里我才明白發(fā)生了什么
多維數(shù)組,每個元素都是由值和多個下標(biāo)組成的,下標(biāo)可以確定元素的位置。通過對多下標(biāo)關(guān)系的描述,可以確定數(shù)組元素的前后關(guān)系,并寫出相應(yīng)的線性表。多維數(shù)組也可以由一個元素為(n-1)維組的特殊線性表來定義,使維數(shù)大于1的多維數(shù)組由線性表組成,是線性表的推廣。對于數(shù)組,通常只有兩種操作:(1)給定一組下標(biāo),訪問相應(yīng)的數(shù)據(jù)元素;(2)給定一組下標(biāo),修改相應(yīng)數(shù)據(jù)元素中一個或多個數(shù)據(jù)項的值。