1. 程式人生 > >《C++語言程式設計基礎》學習之陣列指標與字串

《C++語言程式設計基礎》學習之陣列指標與字串

陣列元素在記憶體中順次存放,它們的地址是連續的。元素間實體地址上的相鄰,對應著邏輯次序上的相鄰。 陣列名字是陣列首元素的記憶體地址,陣列名是常量,不能被賦值 陣列名是陣列的指標,指向首個元素的地址,多維陣列的n-1維是指標一維陣列初始化: 在定義陣列時給出陣列元素的初始值:列出全部元素的初始值        例如:static int a[10]={0,1,2,3,4,5,6,7,8,9}; 可以只給一部分元素賦初值                                                              例如:static int a[10]={0,1,2,3,4}; 在對全部陣列元素賦初值時,可以不指定陣列長度                          例如:static int a[]={0,1,2,3,4,5,6,7,8,9}二維陣列初始化:

將所有初值寫在一個{}內,按順序初始化                                    例如:static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12 分行列出二維陣列元素的初值                                                     例如:static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; 可以只對部分元素初始化                                                            例如:static int a[3][4]={{1},{0,6},{0,0,11}}; 列出全部初始值時,第1維下標個數可以省略 例如:static int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 或:static int a[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

如果不作任何初始化,內部auto型陣列中會存在垃圾資料,static陣列中的資料預設初始化為0;  如果只對部分元素初始化,剩下的未顯式初始化的元素,將自動被初始化為零

int main(){
	int f[20] = { 1,1 };
	for (int i = 2; i < 20; i++)
		f[i] = f[i - 2] + f[i - 1];
	for (int i = 0; i < 20; i++) {
		if (i % 5 == 0) cout << endl;
		cout.width(10);    //設定cout的寬度從右側開始填充
		cout << f[i];
	}
	return 0;
}