Linux C程式設計--陣列與指標(一)
1.1陣列的基本概念及其定義
在程式設計中,為了方便處理,把具有相同型別的若干變數按有序的形式組織起來。這些按序排列的同類資料元素的集合稱為陣列。
(1)對於同一個陣列,其所有元素的資料型別都是相同的。
(2)陣列名的書寫規則應符合識別符號的書寫規定。
(3)陣列名不能與其他變數名相同。
(4)方括號中的常量表示陣列元素的個數,旗下標從0開始計算。
(5)允許在同一個型別說明中,說明多個數組分多個變數。
1.2陣列的使用
陣列定義的時候作為一個整體定義的,但是用的時候不能作為整體來使用,使用時,必須拆開使用陣列中的各個元素。
比如,陣列 int a[10]={1,2,3,4,5};使用其中的元素時,需用a[0],a[1]..a[94]表示,[]是陣列的標誌,[]中的數字表示陣列的下標,也叫索引。下標是0代表陣列的第一個元素,1代表第二個,以此類推。
1.2.1陣列類別
一維陣列:型別說明符 陣列名[常量表達式]={值,值,值,值};例:int a[4]={1,2,3,4,};
二維陣列:對於二維陣列它有多種的輸出書寫方式。陣列型別 陣列名[陣列長度][陣列長度];例:
int a[4][2]={{12,14},{11,19},{14,15},{17,15}};
int a[4][2]={12,14,11,19,14,15,17,15};
int a[4][2]={{12},{11,19},{14,0},{0,15}};
int a[][2]={12,14,11,19,14,15,17,15};
多維陣列:多重陣列就像結構體可以巢狀一樣,陣列也可以,一個數組的元素可以是另一個數組,這樣就構成了多重陣列。
例:
#include "stdafx.h"
void print_day(int day)
{
char days[8][10]={"","Modnay","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
if(day<1||day>7)
{
printf("Illegal day number! \n");
return;
}
printf("%s\n",days[day]);
}
int _tmain(int argc, _TCHAR* argv[])
{
print_day(2);
return 0;
}
字元型陣列:用來存放字元量的陣列稱為字元陣列;例:
char a[7]={'a','c','s','f','h','t','u'};
char a[]={'a','c','s','f','h','t','u'};
char a[7]="c porgram";
例:
int _tmain(int argc, _TCHAR* argv[])
{
int i,j;
char a[][5]={{'S','A','X','C','V'},{'C','Q','D','K','O'}};
char c[]="C porgram";
for(i=0;i<2;i++){
for(j=0;j<5;j++)
printf("%c",a[i][j]);
printf("\n");
}
for(i=0;i<9;i++){
printf("%c\t",c[i]);
}
printf("\n%s",c);
return 0;
}