4 24筆記(陣列)

2021-10-05 10:20:43 字數 2553 閱讀 2345

陣列是一組相同型別元素的集合。

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...