引導(dǎo)語:數(shù)組是在程序設(shè)計中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來的一種形式。以下是百分網(wǎng)小編分享給大家的C語言數(shù)組,希望大家喜歡!
1.1 一維數(shù)組的定義、初始化和引用
1.一維數(shù)組的定義方式為:
類型說明符 數(shù)組名[常量表達式]
(1)數(shù)組名的命名方法與變量名相同,遵循標(biāo)識符命名規(guī)則;
(2)數(shù)組是用方括號括起來的常量表達式,不能用圓括號;
(3)常量表達式表示數(shù)組元素的個數(shù),即數(shù)組的長度,數(shù)組的下標(biāo)從0開始,下標(biāo)的最大值為:常量表達式-1;
(4)常量表達式中可以包括常量和符號常量,不能包括變量。
可以用賦值語句或輸入語句使數(shù)組中的元素得到值,但要占用運行時間??梢允箶?shù)組在運行之前初始化,即在編譯階段使之得到初值。
2.對數(shù)組初始化可以用以下方法實現(xiàn):
(1)在定義數(shù)組時對數(shù)組元素賦以初值。如:
static int a[10]={0,1,2,3,4,5,6,7,8,9};
經(jīng)過上面的定義和初始化后,a[0]=0,a[1]=1,…,a[9]=9。
(2)初始化時可以只對一部分元素賦初值。例如:
static int a[10]={0,1,2,3,4};
定義的數(shù)組有10個元素,但只對其中前5個元素賦了初值,后5個元素初值為0。
(3)如果想使一個數(shù)組的元素值全部為0,可以用下面的方法:
static int a[10]={0,0,0,0,0,0,0,0,0,0};
不能用:
static int a[10]={0*10};
如果對static型數(shù)組不賦初值,系統(tǒng)會對定義的所有數(shù)組元素自動賦以0值。
(4)在對全部數(shù)組元素賦初值時,可以不指定數(shù)組長度。
3.一維數(shù)組的引用方法是:
C語言規(guī)定不能一次引用整個數(shù)組,引用時只能逐個元素引用,數(shù)組元素的表示形式為:
數(shù)組名[下標(biāo)]
下標(biāo)可以是整型常量或整型表達式。如:
a[0]=a[5]+a[7]-a[2*3];
1.2 二維數(shù)組的定義、初始化和引用
1.二維數(shù)組定義的一般形式為
類型說明符數(shù)組名[常量表達式][常量表達式]
C語言采用上述定義方法,我們可以把二維數(shù)組看做是一種特殊的一維數(shù)組:它的元素又是一維數(shù)組。在C語言中,二維數(shù)組中元素的排列順序是:先按行存放,再按列存放,即在內(nèi)存中先順序存放第一行的元素,再存放第二行的元素。
2.二維數(shù)組的初始化:二維數(shù)組可以用下面的方法初始化:
(1)分行給二維數(shù)組賦初值。如:
static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
以上賦值把第一個花括號內(nèi)的數(shù)據(jù)賦給第一行元素,第二個花括號內(nèi)數(shù)據(jù)賦給第二元素…,即按行賦值。
(2)可以將所有的數(shù)據(jù)寫在一個花括號內(nèi),按數(shù)組排列的順序?qū)Ω髟刭x值。
(3)可以對數(shù)組的部分元素賦初值。如:
static int a[3][4]={{1},{5},{9}};
以上賦值的結(jié)果是:數(shù)組第一列的元素分別賦了初值1,5,9,其余元素的值都是0。
(4)如果對二維數(shù)組的全部元素都賦初值,則定義數(shù)組時對第一維的長度可以不指定,但第二維的長度不能省。
3.二維數(shù)組的引用:二維數(shù)組的元素可以表示為:
數(shù)組[下標(biāo)][下標(biāo)]
在引用二維數(shù)組時,必須是單個元素,不能是整個數(shù)組名。下標(biāo)可以是一個表達式,但不能是變量。如果下標(biāo)是一個表達式,注意表達式的值不能超出數(shù)組定義的上、下限。
1.《數(shù)組定義 C語言數(shù)組的定義及引用》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《數(shù)組定義 C語言數(shù)組的定義及引用》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/jiaoyu/76705.html