陣列相關知識小結

2021-08-15 08:32:44 字數 2189 閱讀 4400

1.一位陣列的建立和初始化

陣列的建立

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

陣列的建立⽅方式:

type_t   arr_name   [const_n]; 

//type_t 是指數組的元素型別 

//const_n 是乙個常量表示式,用來指定陣列的大小

注意:陣列建立, [ ] 中要給⼀乙個常量才可以,不能使用變量。

陣列的初始化

陣列的初始化是指,在建立陣列的同時給陣列的內容⼀一些合理理初始值(初始化)。

例項:

int arr1[10] = ; 

int arr2 = ; int arr3[5] = ;

char arr4[3] = ;

char arr5 = ; 

char arr6 = "abcdef";

...

陣列在建立的時候如果想不指定陣列的確定大小就得初始化。陣列的元素個數根據初始化的內容來確定。 

2.一維陣列的使用

對於陣列的使用我們之前介紹了乙個操作符:[ ] ,下標引用操作符。它其實就是陣列訪問的操作符。

1. 陣列是使用下標來訪問的,下標是從0開始。

2. 陣列的大小可以通過計算得到。

3.一維陣列在記憶體中的儲存

例項:

#include int main()

4.一維陣列的指標訪問

陣列的陣列名其實是陣列首個元素的位址,通過對陣列名+整數的運算,其實可以獲取到陣列每個元素的位址。這樣我們就可以使用指標來訪問我們的陣列了。

例項如下:

#include int main()

; int i = 0;

int *p_arr = arr;

for(i=0; i

5.二維陣列的建立和初始化

二維陣列的建立

// 陣列建立 

int arr[3][4]; 

char arr[3][5]; 

double arr[2][4];

// 陣列初始化 

int arr[3][4] = ; 

int arr[3][4] = ,}; 

int arr[4] = ,};

二維陣列的使用

二維陣列的使用也是通過下標的方式

例項:

#include int main()

; int i = 0;

for(i=0; i<3; i++)

} for(i=0; i<3; i++)

} return 0;

}

6.二維陣列在記憶體中的儲存

#include int main()

} return 0;

}

輸出結果:

通過結果我們可以分析到,其實二維陣列在記憶體中也是連續儲存的。

7.二維陣列的指標訪問

二維陣列的指標訪問類似一維陣列,例項如下:

#include int main()

; int *p = &arr[0][0];

int i = 0;

for (i = 0; i < 3 * 4; i++)

for (i = 0; i < 3; i++) }

return 0;

}

8.陣列作為函式引數 往往我們在寫**的時候,會將陣列作為引數傳個函式,比如:我要實現⼀乙個氣泡排序將⼀乙個整形陣列排序。 那我們將會這樣設計函式:

void bubble_sort(int arr[ ]);

但是這樣設計函式,我們無法獲取陣列的元素個數,陣列作為函式引數的時候,不會把整個陣列傳遞過去。實際上只是把陣列的首元素的位址傳遞過去了。所以即使在函式引數部分寫成陣列的形式: int arr[ ] 表示的依然是乙個指標: int *arr,因此需要我們自己將元素個數傳遞過去進行運算。

C 多維陣列相關知識小結

疫情所迫,希望用這種方法督促自己堅持學習。同時記錄在找工作過程中的艱辛不易。部落格內容持續增減修改,都為摘錄和個人理解。歡迎各位批評指正其中錯誤,相互勉勵,共同進步。對於乙個3行4列的陣列可以理解為由3個大小為4的陣列所構成,多維陣列既陣列的陣列。多維陣列的定義如下 int a 3 4 定義大小為3...

陣列小結(陣列相關運算 )

陣列的相關計算 續 include int main printf d n strlen a 隨機值 因為陣列中沒有 0 沒有結束標誌,就無法計算陣列的長度,這裡a代表陣列首元素位址 printf d n strlen a 0 隨機值 這裡的a也是首元素位址 printf d n strlen a ...

陣列,集合相關小結

陣列 是一塊連續的儲存空間 陣列的訪問 通過角標來訪問,從 0開始注意事項 一 必須存放同一種型別的資料 二 必須指定長度 三 引用資料型別都具有預設值 int 0 boolean false 其他的都是null 集合 1,單列集合 collection list set map arraylist...