//格式:
//型別說明符 陣列名[常量表示式]
//方括號請注意
//如:
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 將陣列的長...