數組

  • 數組

5、1概念

在程序設計中,爲了處理方便,把具有相同類型的若干變量按照有序的形式組織起來,這些按序排列的同類數據元素的集合稱爲數組。在C語言中,數組屬於構造數據類型,一個數組可以分解爲多個數組元素,這些數組元素可以是基本的數據類型或是構造類型。因此,按照數組元素的類型不同,數組又可以分爲數值數組,字符數組,指針數組,結構數組等各種類別。

數組中的每一個數據稱爲(數組元素,下標變量)

5、2一維數組

5、2、1定義

   類型說明符 數組名 [常量表達式];

  一些注意事項:數組元素也稱爲下標變量。通常必須先定義數組,才能使用下標變量。

5、2、2引用

在C語言中只能逐個地使用下標變量,而不能一次引用整個數組。

引用的格式爲:數組名 [下標]

5、2、3一維數組的初始化

給數組賦值的方法除了用賦值語句對數組元素逐個賦值外,還可以採用初始化賦值和動態賦值的方法。

  數組初始化賦值是指在數組定義的時候給數組元素賦初值。數組初始化是在編譯階段進行的。這樣將會減少運行間,提高效率。

!!注意:之前用賦值語句或輸入語句也可給數組指定初值,是在運行的時候完成的。

實現方法有如下幾種:

  1. 在定義數組的時候對數組元素賦初值。例如:

  int a [10] = {0,1,2,3,4,5,6,7,8,9};

將數組元素的初值依次放在一對花括弧內。經過上面定義以及初始化之後

 a[0] = 0;a[1]=1  .......

數組名就是數組元素的首地址

  1. 也可以只給一部分元素賦值

例如:int a[10]= {0,1,2,3,4};定義a 數組有10個元素,但花括弧只提供了5個初值,這表示只給前5個元素賦初值,後五個元素的值爲0.

  1. 如果想使一個數組中全部的元素值爲0,可以寫成 int a[10]={0}
  2. 在對全部數組元素賦初值的時候,由於數據的個數已經確定,因此可以不指定數組的長度。

例如:int a [5]= {1,2,3,4,5}; 或者是寫成 int a [] = {1,2,3,4,5};

如果數組長度與提供初值的個數不相同,則數組的長度不能省略

5、3二維數組的定義以及引用

5、3、1二維數組的定義

二維數組的定義的一般形式是

類型說明符  數組名 [常量表達式] [常量表達式]

定義a爲3行4列  int a [3][4];

我們可以把二維數組看作是一個特殊的一維數組:它的元素又是一個一維數組。

二維數組在概念上是二維的,但是,實際的硬件存儲器卻是連續編址的,也就是說存儲器單元是按一維線性排列的。

如何在在一維存儲器中存放二維數組,可以有兩種方式:一種是按照行排列,即放完一行之後順次放入第二行。另一種是按列排列,即放完一列之後在順次放入第二列。在C語言中,二維數組是按照行排列

5、3、2二維數組的引用以及初始化

  1. 直接分行給二維數組賦初值

Int a [2][4] ={{1,2,3,4},{1,2,3,4}};

  1. 可以將所有數據寫在一個花括弧內,按照數組排列的順序對各個元素賦值。

Int a [2][4]={1,2,3,4,5,6,7,8};

  1. 可以對部分元素賦初值

Int a [3][4] = {{1},{5},{9}}

  1. 如果對全部元素都賦初值,則定義數組時對第一維的長度可以不指定,但是第二維的長度不能省略

  Int a[] [4]

在定義的時候也可以只對部分元素賦初值,而省略第一維的長度,但是應該分行賦初值。

5、4多維數組的定義

 //做遊戲一般用的會比較多

有了二維數組的基礎,定義三維數組:

           float a[2] [3] [4];

多維數組元素在內存中的排列順序:第一組的小標變化最慢,最右邊的下標變化最快

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章