1,一維陣列的定義和初始化:
陣列是一組具有相同型別的變數的集合。使用乙個統一的名字來標識這組相同型別的資料,這個名字稱為陣列名,構成陣列的每個資料項稱為陣列元素,c程式通過陣列的下標實現對陣列元素的訪問。
陣列首先要定義其型別,例如:
int a[5],char a[5]。分別代表整型陣列,字元陣列。
注意:c語言中陣列的下標都是從0開始的。如果對乙個陣列而言,例如a[5]其下標值為0到4,而不是1到5。
下面舉乙個簡單的例子,輸出陣列的值:
#include
int main()
;for (i = 0; i <= 4; i++)
printf("%d ", a[i]);
}i初始化為0,依次讀取陣列a中的數值並輸出。
注意,在定義陣列時不能使用變數定義陣列的大小,即下面的定義是非法的。
int a[n]; /*不正確的定義方式*/
2,二維陣列的定義和初始化
由一維陣列的一般定義格式為 型別 陣列名[元素個數]如果要定義乙個二維陣列,只要增加一維下標即可。二維陣列的一般定義格式為
型別 陣列名 [第一維長度][第二維長度]
一維陣列在記憶體中占用的位元組數為:陣列長度*sizeof(基型別),二維陣列占用的位元組數為:第一維長度*sizeof(基型別)。
注意,在不同編譯系統中,int所佔的位元組數是不同的。因此,用sizeof運算子來計算乙個型別或者變數在記憶體中所佔的位元組數才是最準確可靠的方法,也有利於提高程式的可移植性。
注意,二維陣列的長度宣告永遠都不能省略。
例如:#include
#include
using namespace std;
int a[6][6];
int main()
}cin>>m>>n;
for(i=1,j=1;i<=5,j<=5;i++,j++)
for(i=1;i<=5;i++)
{for(j=1;j<=5;j++)
{cout<
並對其陣列清零
memset(a,0,sizeof(a))
3,排序和查詢
排序是把一系列無序的資料按照特定的順序(如公升序或降序)重新排列為有序序列的過程,常見的排序方法有交換法排序,選擇法排序,氣泡排序法。在實際程式設計中,通常用一種更為簡便的排序方法:
用標頭檔案#include
sort(a+_,a+_)從陣列的指定位數到另一指定位數進行排序,其為左閉右開區間,預設為公升序排列。也可自行定義函式,進行其它的選擇性排列
注意,當形參被宣告為二維陣列時,可以省略陣列第一維的長度宣告,但不能省略陣列第二維的長度宣告。
c語言陣列
陣列 構造資料型別之一 陣列是具有一定順序關係的若干個變數的集合,組成陣列的各個變數稱為陣列的元素。陣列中各元素的資料型別要求相同,用陣列名和下標確定。陣列可以是一維的,也可以是多維的。在科學計算中,許多重要的應用都是基於陣列的。所謂一維陣列是指只有乙個下標的陣列。它在計算機的記憶體中是連續儲存的。...
C語言陣列
在變數作函式引數時,所進行的值傳送是單向的。即只能從實參傳向形參,不能從形參傳回實參。形參的初值和實參相同,而形參的值發生改變後,實參並不變化,兩者的終值是不同的。而當用陣列名作函式引數時,情況則不同。由於實際上形參和實參為同一陣列,因此當形引數組發生變化時,實參陣列也隨之變化。當然這種情況不能理解...
C語言 陣列
陣列 void test1 for int i 0 i 5 i for int i 0 i 5 i 陣列資料倒序存放 void test2 printf 請輸入5個學生的成績 n for int i 4 i 0 i printf 輸出5個學生的成績 n for int i 0 i 5 i 將陣列的長...