1. 程式人生 > >Linux C程式設計--陣列與指標(一)

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;
}