Chapter 3.1 陣列 - TKU-ME-Lab/C-C-_tutorial GitHub Wiki

陣列

陣列是由多個鄭烈元素所組成,每個陣列元素相當於一個變數,可用於儲存資料

c 3.1.1

一維陣列的使用

先宣告代表該陣列的陣列變數,語法如下:

資料型別  陣列名稱[陣列大小]

ex: int a[20];        //整數陣列
    float cost[200];  //儲存200個浮點數
    double box[70];   //浮點數陣列
    char array[50];   //字元陣列

宣告陣列時,一併設定起始值的語法如下:

資料型別  陣列名稱[陣列大小] = {元素值1,元素2,...};

下面程式完成大小為5,型別為int的陣列宣告與配置,並完成陣列中元素值的設定

int a[5] = {0,1,2,3,4};

若運用下面的敘述,完成字元陣列的宣告

char a[5] = {'A','B','C','D','E'}

記憶體將會分配一塊連續的區域給陣列,用以儲存陣列裡的各元素的資料,如下圖

c 3.1.2

ex: int D = 100
    int C[D] = {0};  //陣列全部為0,初始化

變數名稱   C[0]   C[1]  C[2] .... C[99]
 資料       0      0     0   ....   0 
  
    int E[] = {2,3,-4};

變數名稱   E[0]   E[1]  E[2] 
 資料       2      3    -4   
P.S. int E[]語法有誤,未給定陣列大小與初始值
    int  F[5] = {5,6,7}; //資料不足補0
    F[1] = -88;

變數名稱   F[0]   F[1]  F[2]  F[3]  F[4] 
 資料       5     -88    7     0     0

#include <iostream>

using namespace std;

void main()
{
    int i = 0;
    int number[10] = { 0,1,2,3,4,
		       5,6,7,8,9 };
    for (i = 0;i < 10;i++)
    {
	cout << "number[" << i << "]="
		<< number[i]
		<< endl;
    }
    system("pause");
}



#include <iostream>
#include <iomanip>

using namespace std;

void main()
{
    int value[5] = {1,2,3};
    int junk[5] ;

    cout << endl;
    for (int i = 0;i < 5;i++)
	cout << setw(12) << value[i];
        cout << endl;
	    for (int i = 0;i < 5;i++)
        cout << setw(12) << junk[i];
            cout << endl;


     system("pause");	
}

陣列元素的存取 -陣列元素引用,需透過陣列的索引值,語法如下:

陣列名稱[索引值]

索引值為0時,將取得陣列中第一個元素值,欲取得陣列中第n個元素的值時,索引值必須為 n-1 下面的敘述設定a陣列中,索引值為3之元素的值為 'D':

a[3] = 'D';

二維陣列

二維陣列的宣告

資料型別 陣列名稱[列的大小][行的大小];

宣告一個大小為 3列4行,型別為int的二維陣列

int a[3][4];

完成整數型態的二維陣列 a[3][4]的宣告後,陣列元素排列方式,與儲存語法如下圖

C 3.1.3

ex: int A[3][4];
        A[0][0] = 12; 
        A[0][1] = 11; 
        A[0][2] = 10; 
        A[0][3] =  9; 
        A[1][0] =  8; 
        A[1][1] =  7; 
        A[1][2] =  6; 
        A[1][3] =  5; 
        A[2][0] =  4; 
        A[2][1] =  3; 
        A[2][2] =  2; 
        A[2][3] =  1; 

C 3.1.4

ex: int B[3][5] = {{15,14,13,12,11},
                   {10, 9, 8, 7, 6},
                   { 5, 4, 3, 2, 1}};

C 3.1.5

#include <iostream>

using namespace std;

void main()
{
    int count = 0, data = 0;
    int number[3][8] = { { 12,  5,-88,-14,-11,  5,  7, 93},
			 {  8,-15, 13, 85,  1, -3, 78, -7},
			 { 10, 14, 36, 55, -5,  9, 83,-65} };

    for (count = 0;count < 3;count++)
    {
	    for (data = 0;data < 8;data++)
	    {
		cout << "number[" << count << "][" << data << "]="
		     << number[count][data]
		     << endl;

		system("pause");
	    }
    }
}
⚠️ **GitHub.com Fallback** ⚠️