如何定義和引用C 的多維數(shù)組?
一、一維數(shù)組的定義和引用數(shù)組是一組類(lèi)型相同的有序變量的集合,其名稱(chēng)有序、存儲(chǔ)空間也有序。一個(gè)數(shù)組元素代表內(nèi)存中的一個(gè)存儲(chǔ)單元,而一個(gè)數(shù)組的全部元素占據(jù)一串連續(xù)的存儲(chǔ)單元。數(shù)組在內(nèi)存中存儲(chǔ)的地址一經(jīng)定義
一、一維數(shù)組的定義和引用
數(shù)組是一組類(lèi)型相同的有序變量的集合,其名稱(chēng)有序、存儲(chǔ)空間也有序。一個(gè)數(shù)組元素代表內(nèi)存中的一個(gè)存儲(chǔ)單元,而一個(gè)數(shù)組的全部元素占據(jù)一串連續(xù)的存儲(chǔ)單元。數(shù)組在內(nèi)存中存儲(chǔ)的地址一經(jīng)定義,即成為常量,不可更改。因此,數(shù)組是構(gòu)造類(lèi)型的數(shù)據(jù),即由基本類(lèi)型數(shù)據(jù)構(gòu)造而成的新類(lèi)型。
例如,在C 中,我們可以通過(guò)以下代碼定義一個(gè)包含10個(gè)整數(shù)的一維數(shù)組:
```
int a[10];
```
這個(gè)數(shù)組的名稱(chēng)是“a”,它包含了10個(gè)整數(shù)類(lèi)型的元素,每個(gè)元素可以通過(guò)下標(biāo)訪問(wèn)。例如,要訪問(wèn)第3個(gè)元素,我們可以使用以下語(yǔ)句:
```
a[2] 5;
```
二、二維數(shù)組的定義和引用
如果我們需要存儲(chǔ)一個(gè)二維表格或矩陣,可以使用二維數(shù)組。二維數(shù)組是一種特殊的一維數(shù)組,其中每個(gè)元素都是一個(gè)一維數(shù)組。例如,我們可以使用以下代碼定義一個(gè)包含3行4列整數(shù)的二維數(shù)組:
```
int b[3][4];
```
在這個(gè)數(shù)組中,每個(gè)元素都是一個(gè)4個(gè)整數(shù)類(lèi)型元素的一維數(shù)組。我們可以通過(guò)兩個(gè)下標(biāo)來(lái)訪問(wèn)二維數(shù)組的元素。例如,要訪問(wèn)第2行第3列的元素,可以使用以下語(yǔ)句:
```
b[1][2] 7;
```
三、多維數(shù)組的定義和引用
除了一維和二維數(shù)組,C 還支持多維數(shù)組。多維數(shù)組的定義也類(lèi)似于二維數(shù)組,只需要在方括號(hào)中添加更多的維度即可。例如,我們可以使用以下代碼定義一個(gè)包含3個(gè)3行4列的三維數(shù)組:
```
int c[3][3][4];
```
在這個(gè)數(shù)組中,每個(gè)元素都是一個(gè)3行4列的二維數(shù)組。我們需要使用三個(gè)下標(biāo)來(lái)訪問(wèn)三維數(shù)組的元素。例如,要訪問(wèn)第2個(gè)三維數(shù)組中第1行第2列的元素,可以使用以下語(yǔ)句:
```
c[1][0][1] 9;
```
四、總結(jié)
通過(guò)以上介紹,我們了解了C 中多維數(shù)組的定義和引用方法。無(wú)論是一維、二維還是多維數(shù)組,都是C 程序中常見(jiàn)的數(shù)據(jù)類(lèi)型,需要掌握它們的定義和使用方法。
五、示例代碼
以下是一個(gè)使用選擇排序法對(duì)10個(gè)數(shù)按升序排序的示例代碼,其中使用一維數(shù)組存儲(chǔ)原始數(shù)據(jù)并輸出原序號(hào),以及輸出排序后的結(jié)果。
```c
include
using namespace std;
int main()
{
int a[10], i, j, t;
for (i 0; i < 10; i )
{
cin >> a[i]; // 輸入原始數(shù)據(jù)
}
for (i 0; i < 9; i ) // 外循環(huán)
{
for (j i 1; j < 10; j ) // 內(nèi)循環(huán)
{
if (a[i] > a[j])
{
t a[i];
a[i] a[j];
a[j] t; // 交換數(shù)據(jù)
}
}
}
for (i 0; i < 10; i )
{
cout << i << " " << a[i] << endl;
}
return 0;
}
```