這次介紹的陣列, 是一種基本的資料結構. 陣列的特色是能夠儲存多個同資料型態的變數.
什麼是陣列呢, 陣列其實就是一條由多個元素組成的資料結構. 陣列的每個元素的存取是靠索引值 (Index Value) 來指定存取的. 陣列是一種基本的資料結構, 他可以儲存多個同資料型態的變數. 在程式設計中, 許多物件與裝置都是用陣列的方式來操作的, 因此陣列也成為了一個重要必備知識.
而什麼是資料結構呢? 說簡單一點資料結構就是一堆資料型態所形成的一個組合, 也可以說是自己自訂的另一種資料型態.
先來看個範例:
#include<iostream> using namespace std; int main() for(int x=0; x<10; x++) for(int i=0; i<10; i++) |
int alpha[10]; - 這段語法代表的是宣告一個擁有10個元素的陣列, 每個元素的資料型態皆為整數.
for(int x=0; x<10; x++) - 這段是for迴圈的開頭, 這個for迴圈會從0一直跑到9.
alpha[x] = x; - 這段代表將alpha陣列的x元素設定為x數, 如x=1, 則陣列的第1元件的數值為1. 此範例中x為for的迴圈變數.
編譯並且執行程式, 會在螢幕上看到 0 1 2 3 4 5 6 7 8 9 的字樣.
程式的邏輯:
一開始程式宣告了一資料型態為整數的陣列, 名稱為alpha, 該陣列有10個元素, 由於陣列的索引值從0開始, 因此此陣列的索引值有: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
第一個for迴圈會從0一直跑到9, 而alpha[x] = x; 這一段會將元素的索引值存在該元素中, 因此alpha[0]的數值是0, alpha[1]的數值是1
第二個for迴圈也是從0跑到9, 這次迴圈會將alpha的10個元件依索引值排序一一輸出到螢幕上.
這就是基本的陣列應用. 這個範例是一次陣列 (one-dimensional array), 陣列可以有多次如: array_1[10][10][10] 就是一個三次的陣列, 總共有10*10*10 = 1000個元素, 索引值也有三層.
使用陣列的時候要記得一點, 不能夠超出索引值範圍, 如果宣告了一個陣列 有10個元素的陣列array_1, 而嘗試存取array_1[10], 就會發生執行錯誤 (Run-Time Error), 因為一個10個元素的陣列索引值最大為9, array_1[10]就已經超出索引範圍!
留言列表