C語言中的陣列型別

2022-10-09 04:42:11 字數 1502 閱讀 7308

一、引子

我們學習了c語言了,我們可能會想知道如果我們有一列數字,或者其他的同種型別的一長串的資料,如果我們還是按照以往的設定變數,給每個變數賦值。這樣顯然時可行的,但是如果我們有10個甚至更多的資料,這樣去定義似乎就有點愚蠢了,然後陣列就正好能夠勝任這個工作了。至於我們有上萬的資料,這個另當別論,可以匯入檔案這種進行操作。我們單純地介紹陣列的這種情況。

二、陣列的相關概念

陣列是由資料型別相同的一系列元素組成,需要使用陣列的時候,通過宣告陣列告訴編譯器陣列中內含多少元素和這些元素的型別。

如何建立乙個陣列:

int arr[5] = ;

如何建立乙個唯讀陣列:(注意這裡有乙個const,這個我後期會對他進行解釋。)

const

int arrt[5] = ;

這裡因為我們給陣列賦予了相應數量的值,問題來了,如果我們在陣列中提供的值小於陣列大小的話,會產生什麼效果呢?如果是更大呢?第乙個問題答案是它會自動給未賦值的陣列值賦值未0,第二個就直接報錯了。然後這裡需要提一下,就是如果我們有一組資料是這樣的:0,0,0,0,122,0我們可以這樣賦值來節省時間。

int arr[6] = ;

arr[4] = 122;

上面介紹的都是一維陣列的例子,現在我們來介紹一下二維陣列的例子。

二維陣列和一維陣列類似,實際上使用的方式也是類似的:

#includeint main(void);

arr[

4][2] = 122

; arr[

3][3] = 15

;

inti,j;

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

printf("\n

");}

return0;

}

然後陣列的相關知識是講完了。它的實際應用需要和指標,函式結合在一起進行闡述。在指標中實際上只需要記住乙個點,就是陣列名就是該陣列首元素的位址,這給了我們利用指標呼叫陣列中的元素提供了方便。然後我們陣列愛函式中實際上還可以作為形參。這也就意味著這兩種形式都是可行的:(需要注意的是,只有在函式原型或者函式定義裡面,才能用int ar代替int *arr

int sum(int *arr, int

n);int sum(int arr, int n);

然後,我們可能回想,我們能不能建立乙個變長陣列?答案是可以的。

但是這個變長的意思是說我們在建立陣列的時候,可以通過使用變數來指定陣列的維度,不是說可以隨意的改變陣列的長度這樣子。

然後陣列的相關知識也講完了,現在就對上面提到的const進行解釋。const的意思是說這個變數或者引數不能夠修改,這個和使用#define指令有點類似,但是const會更加靈活。我們可以使用const來建立const 陣列,const指標和指向const的指標。需要強調的是吧const指標或非const資料的位址初始化為指向const的指標或為其賦值是合法的,然而,只能把非const資料的位址賦給普通指標。

c語言中的陣列, 陣列型別

c語言中的陣列首元素的位址和陣列的位址是兩個不同的概念,比如乙個陣列,int a 陣列名a代表陣列首元素的位址,a代表陣列的位址,陣列位址 a用陣列首元素的位址來代替,因此printf d n a 與printf d n a 是相等的,但是a 1與 a 1是不相等的,比如如果a代表2,那麼a 1就是...

C語言中的陣列

c語言陣列 一 陣列的概念 用來儲存一組資料的構造資料型別 特點 只能存放一種型別的資料,如全部是int型或者全部是char型,陣列裡的資料成為元素。二 陣列的定義 格式 型別 陣列名 元素個數 舉例 儲存5個人的年齡 int agrs 5 在記憶體中開闢4x5 20個位元組的儲存空間 可以在定義陣...

C語言中的陣列

include stdio.h include string.h include stdlib.h int main 定義乙個可以存放十個int型資料的陣列 int parr null parr array array a printf d n array printf d n array 1 pr...