C語言零基礎入門(2)
1. 數(shù)組
數(shù)組是一組相同類型變量的有序集合,用于存放一組相同類型的數(shù)據(jù)。這一組變量用數(shù)組名和從0開始的下標標識,使用內(nèi)存中一塊連續(xù)的存儲空間。依據(jù)數(shù)組中元素下標的個數(shù)分為一維數(shù)組、二維數(shù)組和多維數(shù)組。
1.1 一維數(shù)組
1.1.1 一維數(shù)組的定義
一維數(shù)組定義的一般形式為:
類型說明符 數(shù)組名[常量或常量表達式];
數(shù)組一經(jīng)定義,其長度就不可改變,或者說,數(shù)組中元素的個數(shù)是固定的。程序編譯或運行時,將為數(shù)組分配一塊固定大小的連續(xù)的存儲空間。例如:
int array[10];
定義一維數(shù)組array,數(shù)據(jù)元素的類型為int,數(shù)組中有10個元素。這十個元素下標從0~9。
1.1.2 一維數(shù)組的初始化
(1)為數(shù)組的全部元素賦初值。如:
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
(2)對數(shù)組全部元素初始化。數(shù)組長度缺省,初值個數(shù)就是數(shù)組長度。如:
int a[ ] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
(3)為數(shù)組部分元素賦初值。如:
int a[10] = {1, 2, 3, 4, 5};
只對數(shù)組前5個元素賦初值,a[0]的初值為1,……,a[4]的初值為5,其余元素的初值為0。
如果沒有對數(shù)組初始化,則數(shù)組元素的初值是一個不確定的值。
1.1.3 一維數(shù)組的引用
【例】將數(shù)組中的元素逆序存放后輸出(不得另外開辟數(shù)組存儲空間)。
#include<stdio.h>
#define N 10
void main()
{
int i, t, a[N];
for(i = 0; i < N; i++)
{
scanf("%d", &a[i]); //為數(shù)組元素賦值
}
printf("交換前的數(shù)組元素\n");
for(i = 0; i < N; i++) //輸出交換前數(shù)組元素
{
printf("%6d", a[i]);
}
for(i = 0; i < N/2; i++) //交換
{
t = a[i];
a[i] = a[N - i - 1];
a[N - i - 1] = t;
}
printf("\n交換后代的數(shù)組元素\n");
for(i = 0; i < N; i++) //輸出交換后數(shù)組元素
{
printf("%6d", a[i]);
}
printf("\n");
}運行及結(jié)果如下圖所示:

1.2 二維數(shù)組及多維數(shù)組
1.2.1 二維數(shù)組的定義
二維數(shù)組定義的一般形式為:
類型說明符 數(shù)組名 [常量表達式1] [常量表達式2];
兩個方括號中的常量表達式1和2分別規(guī)定了數(shù)組第一維的長度和第二維的長度,也稱為行數(shù)和列數(shù)。兩個常量表達式的乘積是數(shù)組元素的個數(shù)。
事實上,二維數(shù)組是由一維數(shù)組擴展而來的。若一維數(shù)組的元素本身還是一個一維數(shù)組,則構(gòu)成二維數(shù)組。以此類推,可構(gòu)成三維數(shù)組,乃至多維數(shù)組。
1.2.2 二維數(shù)組的初始化
(1)按行為二維數(shù)組元素賦初值。如:
int a [3] [5] = {{0, 1, 2, 3, 4}, {1, 2, 3, 4, 5}, {2, 3, 4, 5, 6}};
(2)使用一維數(shù)據(jù)對二維數(shù)組元素賦初值。如:
int a [4] [5] = {0, 1, 2, 3, 4, 1, 2, 3, 4, 5, 2, 3, 4, 5, 6};
(3)按行為二維數(shù)組部分元素賦初值。如:
int a [4] [5] = {{1, 3}, {2}, {0}, {0, 2, 4}};
(4)當對全部元素初始化或按行初始化時,第一維的長度可以缺省,但第二維的長度必須注明。如:
int a [] [4] = {1, 2, 3, 4, 5, 6, 7, 8}
int b [] [4] = {{1, 2, 3}, {1, 2, 3}}
1.2.3 二維數(shù)組的引用
【例】對5*5的矩陣編程。
(1)求出主對角線元素的和;
(2)求出矩陣下三角元素的和;
(3)找出主對角線上最大值元素和它的位置。

總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

