陣列是一種容器, 陣列中的元素在記憶體中連續依次排列的, 其中所有元素具有相同的資料型別。 一旦被建立, 不能改變大小。 陣列的每個單元就是陣列型別的乙個變數。
陣列本身不能被賦值,賦值的是陣列的元素。
// 變數名稱加中括號
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...