Chapter 3.1 陣列 - TKU-ME-Lab/C-C-_tutorial GitHub Wiki
陣列是由多個鄭烈元素所組成,每個陣列元素相當於一個變數,可用於儲存資料
先宣告代表該陣列的陣列變數,語法如下:
資料型別 陣列名稱[陣列大小]
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'}
記憶體將會分配一塊連續的區域給陣列,用以儲存陣列裡的各元素的資料,如下圖
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]的宣告後,陣列元素排列方式,與儲存語法如下圖
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;
ex: int B[3][5] = {{15,14,13,12,11},
{10, 9, 8, 7, 6},
{ 5, 4, 3, 2, 1}};
#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");
}
}
}