C語言陣列學習筆記

2021-10-22 13:14:44 字數 1266 閱讀 1920

陣列是一種容器, 陣列中的元素在記憶體中連續依次排列的, 其中所有元素具有相同的資料型別。 一旦被建立, 不能改變大小。 陣列的每個單元就是陣列型別的乙個變數。

陣列本身不能被賦值,賦值的是陣列的元素。

// 變數名稱加中括號 

int number[10]

;// 整合初始化

int number=

int number=

int number=

陣列的下標用中括號,如 a[1] , 從0開始。 有效的值 0到陣列大小-1

編譯器和執行環境不會檢查資料下標是否越界 , 無論是對陣列單元做讀還是寫。 一旦程式執行, 陣列越界訪問可能造成問題, 導致程式崩潰。 所以c程式設計師有責任來保證程式使用有效的下標。

sizeof(x)可返回x的位元組, sizeof(array)為陣列所佔位元組, sizeof(array[0])為陣列第乙個元素所在位元組。 由於陣列每個元素型別相同,同乙個型別所佔位元組相同, 那麼陣列長度即可使用

sizeof(array)/sizeof(array[0])來計算。

int a=

;printf

("\d"

,sizeof

(a))

;printf

("\d"

,sizeof

(a[0])

);prinft

("\d"

,sizeif

(a)/

sizeof

(a[0])

);>

12>

4>

3

一般都是使用for,讓迴圈變數從 i 到《陣列長度, 這樣迴圈達到最大正好是陣列最大的有效下標。

for

( i=

0; i}

常見的錯誤就是迴圈結束條件是 <=陣列長度 。

二維陣列可以理解為乙個矩陣 , 其宣告,賦值,遍歷 只是把一維陣列拓展到兩個中括號。

int number[3]

[5]; int number[

2]=,

}

需要注意的是:

列數是必須給出的, 行數可以由編譯器來計算

每行乙個單獨的 ,逗號間隔。

根據古老的傳統, 最後乙個逗號也可以存在。

省略表示補零

也可以使用定位

推廣的n維陣列也是一樣(n>2)

C語言 陣列學習筆記

1 陣列 a 陣列的定義 型別名 陣列名 元素的個數 元素的個數必須為常量 例如 float arr1 5 陣列元素的型別是float 陣列的型別是 float 5 叫做長度為5的浮點型陣列 b 陣列的初始化 只有在第一次定義的時候才能用 一次性給元素初始化 全部初始化 例如 int arr 5 全...

C語言陣列學習筆記

在c語言中,需要指代乙個東西時,我們可以使用變數。當需要指代多個東西時,我們就需要用到陣列。陣列可以儲存乙個固定大小的相同型別元素的順序集合。陣列的宣告並不是宣告乙個個單獨的變數,比如number0 number1 number9,而是宣告乙個陣列變數,比如numbers,然後使用形如numbers...

C語言學習筆記《陣列》

1,已知陣列x有5個元素,精組y有6個元素.請分別對x和y排序。輸出x和y排序後的元素 include main y 6 int i,j,sum 0 for i 0 i 4 i int i,j,sum for i 0 i 9 i for i 0 i 9 i printf d t a i code c...