C語言 陣列

2021-09-19 06:31:44 字數 2191 閱讀 4689

//格式:

//型別說明符 陣列名[常量表示式]

//方括號請注意

//如:

int a[10];//它表示定義了乙個整形陣列,陣列名為a,有10個元素,每乙個元素都是int型別。***(a[0],a[1],a[2],a[3]……a[9])陣列的下標從0開始到10-1。***

a[0]

a[1]

a[2]

a[3]

a[4]

a[5]

a[6]

a[7]

a[8]

a[9]

***陣列的大小無法定義成動態,即陣列中的元素個數一旦定義就固定了。(如:int n,a[n]) ***

先說一下什麼是陣列?

陣列是一組數目固定、型別相同的元素組成的集合。其中,數目固定指的是元素的個數在程式執行的時候不能更改。

當型別相同的資料比較多的時候就需要用到陣列了。

如:儲存100個學生的成績

怎樣訪問陣列裡面的元素呢?

我們採用陣列名和元素在這個陣列中的位置來訪問。需要注意的是位置總是從0開始,也稱為下標或索引。因此陣列中的10個元素分別為:

a[0], a[1], a[2], a[3], a[4], a[5],a[6], a[7], a[8], a[9];

int a[10]=;//可以在定義是初始化

//也可以只賦值部分

int b[10]=;//b[0]=1,b[1]=2,b[2]=3,之後的b[3]~b[9]預設為0

//甚至可以

int c[10]={};//c[0]~c[9]均等於0

a[0]

a[1]

a[2]

a[3]

a[4]

a[5]

a[6]

a[7]

a[8]

a[9]12

3456

78910

可以通過迴圈來進行賦值

int a[10],i;

for(i=0;i<10;i++)

例:輸出10個數中最大的數

int main()

//賦值

max=a[0];

for(i=1;i<10;i++)

//賦值

for(i=0;i<10;i++)

//求和

printf("%d",sum);

}

例:10個數排序

int main()

//賦值

for(i=0;i<10;i++)

}}//排序

for(i=0;i<10;i++)

//輸出

}

以上的都是一維陣列

下來談一談二維陣列

定義乙個二維陣列

//資料型別符  陣列名[常量表示式][常量表示式]

int a[3][3];

a[0][0]

a[0][1]

a[0][2]

a[1][0]

a[1][1]

a[1][2]

a[2][0]

a[2][0]

a[2][2]

二維陣列的初始化:

分行賦值:如   

int a[3][3]=,,};

順序賦值:

int a[2][3]=;

部分元素賦值:

int a[2][3]=,,};

/*對於第三個

a[0][0]=1 a[0][1]=0 a[0][2]=0

a[1][0]=3 a[1][1]=0 a[1][2]=0

a[2][0]=5 a[2][1]=0 a[2][2]=0

也可以通過迴圈來賦值:

int main()

}}

例:二維陣列行列互換

int main()

}//賦初值

for(i=0;i<3;i++)

}互換for(i=0;i<3;i++)

}//輸出b陣列

}

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 將陣列的長...