1-7 陣列的使用


阿瑟 發表



這次介紹的陣列, 是一種基本的資料結構. 陣列的特色是能夠儲存多個同資料型態的變數.

*注意: C++所有語法大小寫有差. 如果您在執行時發現中文無法顯示請自行將程式修改成英文.

*注意: 如果您執行程式後, 程式視窗會自動關閉的話, 請至MS-DOS模式重新執行程式, 或是在void main()最底端加上system("PAUSE");來暫停程式.

什麼是陣列呢, 陣列其實就是一條由多個元素組成的資料結構. 陣列的每個元素的存取是靠索引值 (Index Value) 來指定存取的. 陣列是一種基本的資料結構, 他可以儲存多個同資料型態的變數. 在程式設計中, 許多物件與裝置都是用陣列的方式來操作的, 因此陣列也成為了一個重要必備知識.

而什麼是資料結構呢? 說簡單一點資料結構就是一堆資料型態所形成的一個組合, 也可以說是自己自訂的另一種資料型態. 從這篇教學開始小弟會開始講解C++的各種資料結構.

先來看個範例:



#include <iostream.h>
#include <stdlib.h>


void main()
{
   int alpha[10];

   for(int x=0; x<10; x++)
   {
      alpha[x] = x;
   }

   for(int i=0; i<10; i++)
   {
      cout << alpha[i] << " ";
   }

   system("PAUSE");
}


小弟先逐一講解新語法的涵義:

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的迴圈變數.

cout << alpha[i] << " "; - 這段代表將alpha陣列的i元件輸出至螢幕.


編譯並且執行程式, 您應該會在螢幕上看到 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]就已經超出索引範圍.

這種錯誤小則程式停止執行, 嚴重則會導致您的電腦當機, 因此不能不謹慎.

最後更新日期: 5/19/2003 9:31:10 PM