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()6.二維陣列在記憶體中的儲存; int i = 0;
for(i=0; i<3; i++)
} for(i=0; i<3; i++)
} return 0;
}
輸出結果:#include int main()
} return 0;
}
通過結果我們可以分析到,其實二維陣列在記憶體中也是連續儲存的。
7.二維陣列的指標訪問
二維陣列的指標訪問類似一維陣列,例項如下:
8.陣列作為函式引數 往往我們在寫**的時候,會將陣列作為引數傳個函式,比如:我要實現⼀乙個氣泡排序將⼀乙個整形陣列排序。 那我們將會這樣設計函式:#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;
}
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...