iT邦幫忙

DAY 5
0

學習C++,為了自己。系列 第 5

C++第五天...陣列!!

  • 分享至 

  • xImage
  •  

陣列宣告跟變數宣告都必須放在main()函式,接著我來示範靜態陣列的宣告方法!

資料型態 陣列名[元素數]; // 靜態陣列宣告格式

int array1[5]; // 宣告一個擁有五個元素的整數陣列

當然也可以宣告bool,char,float,double這些類型的陣列,

然後這是靜態陣列所以一開始便要宣告裡面有幾個元素。


靜態陣列的內容也像變數一樣,必須有人設值,不然裡面的元素內容可是未知的。

int iarr[2]={0,1}; // 在整數靜態陣列iarr中設定兩個元素值,第一個元素就是0,第二個就是1

除了像這樣一個個設定元素外,也可以一次把所有元素設定為同樣的值。

char charr[10]={'\0'}; // 10個元素 的值都會變成 空白字元。

float fltarr[20]={0.0}; // 20個元素 的值都會變成 0

bool booarr[15]={false}; // 15個元素 的值都會變成 false

接著還來寫寫看~讓程式跑起來!

int main()
{
	const int num=10; // 宣告一個常數整數num 
	int iarr[num]={0}; //宣告一個靜態陣列存放整數元素,所有元素的值都被設定成0
	for(int i=0;i<num;i++)
	{
	   cout<< i<< "號等於"<< iarr[i];
	   cout<< endl;
	}			
}

執行結果:
0號等於0
1號等於0
2號等於0
3號等於0
4號等於0
5號等於0
6號等於0
7號等於0
8號等於0
9號等於0

如果要取出第一個元素的值可不是iarr[1],而是iarr[0]。

接著如果我把for()中的i < num 改成i <= num會發生什麼事情呢?

更改後的執行結果:

0號等於0
1號等於0
2號等於0
3號等於0
4號等於0
5號等於0
6號等於0
7號等於0
8號等於0
9號等於0
10號等於4196272

事實上我們iarr明明是靜態陣列,已經事前宣告有10個元素在此陣列。

也同時設值給這10個元素為0,iarr[10]取出的是不存在的第11個元素,當然值也就沒設成為0囉~

陣列宣告補充:

char iarr[]={'a','b','c'};

// 在iarr字元陣列裡設值給三個元素,

因為沒有事先宣告元素數目,

編譯器會自動判定iarr為三個元素的陣列。

還有上面有更新過一下,

如果打int iarr[10]={5};,會變成只有第一個初值是5,其他都會是零歐!!!!!


上一篇
C++第四天-迴圈
下一篇
C++第六天-製作題目自己作XD
系列文
學習C++,為了自己。12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言