高中程式設計_語法篇_陣列與指標_陣列概述_張翔宇

. DeltaMOOCx
50粉絲
2023年10月10日 #陣列
#陣列
DeltaMOOCx 台達磨課師是高中/高工及大學的免費公益磨課師(MOOCs)平臺。練習題、討論、教師輔導及更多數位課程資源,請至https://high.deltamoocx.net 註冊。本影片採用「創用CC-姓名標示-非商業性-禁止改作4.0」臺灣授權條款,相關授權作業依「創用CC-姓名標示-非商業性-禁止改作4.0」規範辦理。
陣列與指標
陣列概述
各位同學大家好
那這個單元的內容會比較多一點
所以我們把目次把它分成左右兩個部分
在左手邊的部分
我們主要是講解陣列的相關知識
在右手邊的目次的部分,我們主要是講解指標的相關知識
那我們首先跟各位介紹陣列的概述
陣列與指標
陣列概述
接下來我們在陣列概述裡面將
陸續跟各位說明
陣列的簡介
以及陣列跟維度的關係,還有使用陣列與使用變數的比較
另外還會跟各位說明
採用陣列來解決問題的優點
首先我們來看一下陣列簡介
陣列英文叫做array
是一種使用連續的記憶體位置的結構性儲存空間
這些儲存空間可以用來儲存相同型態的資料
比如說在這個陣列當中
全部儲存的資料全部都是整數
或者在這個陣列當中儲存的資料全部都是伏點數
第二點
陣列中的每一個儲存空間我們把它稱之為陣列元素
是以陣列名稱後面跟著縮影值來表示資料在陣列中的相對位置
在第一點當中我們說明瞭陣列是使用連續的記憶體位置
那麼記憶體位置指的是什麼呢?
記憶體位置這一個概念就如同我們居住的住址編號一樣
它是一個固定
是一個絕對的數字
而在說明的第二點當中我們有提到縮影值這個名詞
縮影值指的是這條馬路上面的第幾間房子
是一個相對的數值
而地址編號是一個絕對的數字
我們先來看一個簡單的翻譯
首先大家看到在畫面上有一個A陣列
在表示的方法方面我們可以先寫上一個陣列名稱A
然後接下來在陣列名稱的後面我們使用了中括號
中括號裡面的數值就是所謂的縮影值
也就是A陣列裡面的第幾個空間
通常縮影值都是從編號0號開始
大家可以發現在畫面上這個A陣列縮影值從編號0號開始
一直到編號4號結束
也就是說A陣列它總共有5個陣列元素
那麼在實際意義上相當於我們宣告的5筆可以儲存相同資料型態的變數
接下來這些陣列元素在實際的記憶體裡面
它是佔用連續的記憶體空間
接下來跟各位介紹陣列與維度之間的關係
接下來跟各位解釋一下陣列與維度之間的關係
陣列的維度主要是以縮影值的數量來決定的
假如說陣列僅有一個縮影值的話
那麼就稱之為一維陣列
比如說我們來看一下這個例子
A陣列括弧X
這時候A陣列就是一維陣列
一維陣列的概念有一點像數學上的一個豎線
豎線就只有一個X軸而已
假如陣列含有兩個縮影值的話
那麼這一個陣列就是所謂的二維陣列
比如說我們來看一下這個例子
B陣列有兩個縮影值分別是Y跟X
那麼這一個B陣列就是所謂的二維陣列
二維陣列的話
它們的概念就類似於數學的平面坐標
分別有X軸跟Y軸
換句話說
假如有一個陣列它有三個縮影值的話
那麼它就是所謂的三維陣列
比如說我們這一個例子
C陣列有三個縮影值分別是Z、Y跟X
那這一個三維陣列的話
它的概念就類似於數學上面的空間概念了
三度空間的話有X、Y、Z三個軸
接下來跟各位介紹使用陣列與變數的比較
請先想像一下
假如說你現在要設計一個可以處理全班成績的程式
那麼每一個同學他總共考了五個學科
分別有國文、英文、數學、自然跟社會
假如說全班有40位同學
那麼因為每一個同學有五個學科的分數
40位同學就必須要有200個分數了
假如說我們要使用變數來儲存這些分數的話
在宣告變數的時候就要花費非常多的精力了
假如說成績單還必須再加上
座號、總分、平均、名次這些資料的話
那麼可想而知工程就會非常的浩大
而且假如採用這個方式的話
我們將難以搭配迴旋來處理這一些變數的資料
那麼反過來假如說我們是宣告一個陣列
來儲存這40位同學的分數呢
我們只要撰寫一行敘述就可以了
比如說我們撰寫這一行宣告一個Score陣列
然後這Score陣列可以儲存40位同學
每一位同學有五筆成績的資料
只要撰寫這一行就能夠解決所有宣告資料的部分了
再來的話我們將探討採用陣列來解決問題的優點
接下來我們來看一下採用陣列來解決問題的優點
首先因為陣列是使用連續的記憶體空間
以至於電腦在存取陣列資料的時候
要比存取大量的變數資料還要來得快
第二點的話我們可以使用迴圈來搭配陣列的縮影值
然後來執行大量而且規則性的運算
第三點我們程式會比較簡潔
因為我們可以搭配迴圈來使用
所以程式的內容可以大幅的縮短
接著我們來歸納一下重點
第一點陣列主要是用來儲存相同型態的資料
第二點我們可以使用迴圈來搭配陣列的縮影值
然後來執行大量而且具有規則性的運算
參考資料
程式設計實習有全華主板社所主板
