C語言筆記 — 陣列(Array)

Sharon Peng
3 min readAug 7, 2019

--

本章重點:

  1. Array 的介紹
  2. Array 的使用1
  3. Array 的使用2

1. Array 的介紹

陣列是一種資料結構,可以儲存相同資料型態的變數。如此一來,我們就不需要宣告一堆變數名稱,只要有一個陣列就可以搞定。

先來一個簡單的例子:

int candy[50]; //意思是這個陣列的大小為50,且資料型態皆為整數。

由上述例子,我們可以知道,宣告陣列宣告要有[],裡面需要輸入陣列大小。

資料型態 陣列名稱[大小];

我們也可以預先在陣列裡面設定好數值,只要用一個{}就可以了。以下為範例:

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

char ch[5] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’}; //字元型態大小為 5的陣列

float candy[5] = {1.2, 3.4, 5.6}; // 雖然陣列大小設為5,但也可不必把全部的數設滿,沒設定到的程式會自動讓他歸零

範例:

#include<stdio.h>int main()
{
int array[5] = {4, 5};
for (int i = 0; i < 5; ++i)
{
printf("%d ", array[i]);
}
puts("");
return 0;
}

2. Array 的使用1

那我們現在知道如何將資料存入陣列中,那我們要如何將它拿出來呢?

在這之前我們要先知道,存在陣列中的每一個數值都有一個他自己的位子。示意圖如下。

從圖中可以得知,

arr[0] =>10(arr[0]這一個的數字存入的數是10)

arr[1]=>20(arr[1]這一個的數字存入的數是20)

以此類推。其中比較重要的一點是,我們是從0開始存的,所以假設我們陣列大小設10(陣列是從0~9不是0~10)

暸解這點後,我們就可以用一些方法講裡面的數值拿出來了_for迴圈是個非常好的選擇。

*印出所有陣列中的數:

#include<stdio.h>int main()
{
int array[5] = {4, 5, 6, 7, 8};
for (int i = 0; i < 5; ++i)
{
printf("%d ", array[i]);
}
puts(""); //換行
return 0;
}

說明:

for迴圈,從0開始到5(0 -> 1 -> 2 -> 3 -> 4),陣列array[i]一個個隨著for印出來。

3. Array 的使用 2

array的其他使用方式:

假設我們在陣列中存入學生的所有成績,然後我們想要算出他的總分數,並且算出平均,以下方式會是一個很好的方式。

#include<stdio.h>int main()
{
int grade[5] = {55, 60, 78, 98, 90}; //五項成績
int total = 0, avg = 0;

for(int i = 0; i < 5; ++i)
{
total += grade[i]; //一個一個加總
}
avg = total / 5; //平均
printf("分數總和%d\n", total);
printf("平均%d\n", avg);

return 0;
}

大致上就先介紹到這邊囉~之後有做其他題目也會越用越順手的!

--

--