[陣列] 基本架構(一維陣列)

陣列是由一群相同型態的變數組成
用一個共同名稱表示
元素利用索引值(註標)標示存放的位置

宣告
資料型態 陣列名稱[個數];
Ex:

[code language=”cpp”]
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int main() {

int input;
printf("Please input the radius! \n");
scanf("%d",&input);
const float PI=3.14159;
printf("The area=%f\n",PI*input*input);

system("pause");

return 0;

}<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>
[/code]

陣列元素表示方法
索引值由0開始,直到(n-1)
Ex:

[code language=”cpp”]
#include <iostream>
using namespace std;

int main(){

int arr[10];
arr[2]=arr[0]*arr[1]; //將索引值0乘以索引值1
//並指定給索引值2的元素

}<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>
[/code]

陣列初值設定
可以在陣列宣告時
即設定初值
資料型態 陣列名稱[個數]={初值1,初值2,…..,初值(n-1)};

Ex:

[code language=”cpp”]
#include <iostream>
using namespace std;

int main(){

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

}
[/code]

如果皆設為一個值時
括號內只需填入一個數值
Ex: 

[code language=”cpp”]
#include <iostream>
using namespace std;

int main(){

int arr[5]={0}; //將所有元素都設為0

}<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>
[/code]

如果宣告時
未將元素個數列出
編譯器將會視所給予的初值數目
來決定陣列的長度
Ex:

[code language=”cpp”]
#include <iostream>
using namespace std;

int main(){

int arr[]={1,2,3,4,5}; //編譯器將會自動將陣列大小設為5

}

<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>
[/code]

如果宣告時
列出的元素個數與初值數目不同
  • 元素個數>初值數目:將其餘元素設為0
  • 元素個數<初值數目:編譯器顯示錯誤訊息
陣列界限檢查
C++不會檢查索引值大小
當索引值超過陣列長度時
編譯器不會進行阻擋
多餘的資料將被放在陣列的記憶體以外
可能會蓋掉其他資料或程式碼

 

 

有疑問? 留個言吧!

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料