陣列是一組相同型別元素的集合。
1.陣列的建立
int brr[5]
=;char b[5]
="abcd"
;int arr=
;char a=
"abcdefg"
;
在陣列中,
中要給乙個常量,而不能為變數。也可以不寫,元素的個數由後面初始化的內容來確定陣列大小。
注:在字串中,最後有乙個結束符『\0』
,所以上面的陣列大小為5.
char
型陣列的兩種用法:
被當作普通的char陣列。
被整體當作字串使用。
2.一維陣列的使用
陣列的空間是在對應函式的棧幀內部開闢的,換言之,是在棧上開闢空間的(常規情況下)。
陣列是通過下標來訪問的,下標是從0開始。
陣列的大小可以通過計算得到。
int sz =
sizeof
(arr)
/sizeof
(arr[0]
);
3.一維陣列在記憶體中的儲存
int
main()
;int sz =
sizeof
(arr)
/sizeof
(arr[0]
);int i =0;
for(
; i < sz; i++
)return0;
}
結果為:
隨著下標元素的增加,元素的位址在增加,每一次增加4個位元組(int 型)。故陣列在記憶體中是連續存放的。
而在讀取的時候,讀取的為起始的位址,該變數的第乙個位元組的位址。
4.二維陣列的建立和初始化
int arr[3]
[4]=
;char brr[3]
[5]=
;
一般在二維陣列中int arr[m][n]
,m可以被省略,但n不能被省略。
5.二維陣列的使用
二維陣列也是通過下標進行使用的。
int
main()
;char brr[3]
[5]=
;int i =0;
for(
; i <
3; i++
)printf
("\n");
}printf
("\n");
return0;
}
結果為:
6.二維陣列在記憶體中的儲存
int
main()
;char brr[3]
[5]=
;int i =0;
for(
; i <
3; i++)}
return0;
}
結果為:
二維陣列也是線性且連續儲存的。
二維陣列本質可以看為一維陣列,只不過該陣列內放的是幾個一維陣列。
任何陣列都是線性連續且遞增儲存的。
7.陣列名
int
main()
;printf
("%p\n"
, arr)
;//首位址
printf
("%p\n"
,&arr)
;//取出的為陣列的位址
printf
("%p\n"
, arr+1)
;printf
("%p\n"
,&arr+1)
;printf
("%p\n"
, arr[1]
);//第二個元素的十進位制顯示
printf
("%p\n"
,&arr[1]
);//第二個元素的位址
printf
("%p\n"
,*arr)
;//首元素的十進位制顯示
return0;
}
陣列名一般是陣列首元素的位址。兩個例外:
sizeof(陣列名)。
&陣列名,取出的為陣列的位址。&陣列名,陣列表示整個陣列。
Swift筆記 陣列
建立乙個空陣列 使用構造語法來建立乙個由特定資料型別構成的空陣列 var array int print array.count count 通過建構函式的型別,array的值型別被推斷為 int 建立乙個帶有預設值的陣列 swift 中的array型別還提供乙個可以建立特定大小並且所有資料都被預設...
PHP筆記,陣列
1.php有兩種陣列 索引陣列 關聯陣列。索引和關聯兩個詞都是針對陣列的鍵而言的 1 索引陣列是指數組的鍵是整數的陣列,並且鍵的整數順序是從0開始,依次類推。索引陣列的初始化 fruit array 蘋果 香蕉 菠蘿 2 關聯陣列是指數組的鍵是字串的陣列。可以使用 print r 陣列名 語句輸出陣...
java筆記 陣列
陣列 1 是一種資料型別 應用型別 2 相同資料型別元素的集合 3 陣列的定義 資料型別 資料名 new 資料型別 大小 int a 宣告整型變數 int a 宣告整型陣列變數 int a 5 int new int 5 宣告整型陣列a,包含5個元素 每個元素都是int型別,預設值為0 double...