i一、一維陣列的定義
要使用陣列,必須在程式中先定義陣列,即通知計算機;由哪些資料組成陣列,陣列中有多少元素,屬於哪個資料型別。
定義陣列的一般形式:
型別符陣列名 [常量表示式]
(1)陣列的命名規則和變數名相同,遵循識別符號命名規則。
(2)在定義陣列時,需要制定陣列中元素的個數,方括號中的常量表示式用來表示元素個數,即陣列長度。注意,陣列的下標是從0開始的。
(3)常量表示式中可以包括常量和符號常量,不能包含變數,即c語言不能對陣列的大小做動態定義,即陣列的大小不依賴於程式執行過程中變數的值。如果在被呼叫的函式(不包括主函式)中定義陣列,其長度可以是變數或者常量表示式。
二、一維陣列的引用
(1)引用陣列元素的表示形式為
陣列名[下標],下標可以是整形常量或整形表示式
三、一維陣列的初始化
(1)為使程式簡潔,常在定義陣列的同時,給個陣列元素賦值,這稱為陣列的初始化。可以使用初始化列表的方法實現陣列的初始化。
(2)在定義陣列時對全部陣列元素賦予初值
例:int a[10]=;
(3)可以只給陣列中的一部分元素賦值
例:int a=[10]
(4)如果想使乙個陣列的全部元素值為0可以寫成int a[10]=;
(5)在對全部元素賦初值時,由於資料的個數已經確定,因此可以不指定陣列的長度。
例:int a[5]=;也可以寫成int a=;
但是如果陣列的長度與提供處置的個數不相同,則方括號內的陣列長度不能省略。
一維陣列舉例
#include
int main()
int i;
int f[20]=;
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for (i=0;i<20;i++)
if (i%5==0)printf(「\n」);
printf(「%12d」,f[i])
printf(「\n」);
return 0;
四、一維陣列的儲存
五、一維陣列的指標訪問
指標可以理解為乙個變數,乙個專門用來存放位址的乙個變數。指標其實就是乙個指標變數。陣列的陣列名其實就是陣列的首元素的位址,拿到了陣列首元素的位址,這樣就可以是用指標來訪問我們的陣列。
ii 二、二維陣列的定義
(1)二維陣列定義的一般形式為
型別說明符
陣列名[常量表示式][常量表示式]
例如:float a[3][4];即定義了乙個3行4列的陣列,第一維有3個元素,第二維有6個元素,第三維有9個元素。
(2)二維陣列的引用
二維陣列個一維陣列一樣通過陣列名[下標][下標]的形式引用。
例如 a[3][4]即引用陣列a的第3行的第4列的元素。
(3)二維陣列的初始化
1、可以使用初始化列表對二維陣列初始化
2、分行給二維陣列初始化
例如:int a[3][4]=,,;
3、可以將所有資料寫在乙個花括號內,按陣列元素在記憶體中的排列順序對各元素賦初值。
例如:int a[3][4]=;
4、可對部分元素賦值
例如:int a[3][4]=,,};
(4)二維陣列的儲存
二維陣列個一維陣列是一樣的,在記憶體中也是連續儲存的。
5、二維陣列的訪問和一維陣列也是一樣的,即拿到陣列首元素的位址,用指標進行訪問。
一維陣列和二維陣列
一維陣列和二維陣列 一維陣列 在程式中可以使用下標變數,即說明這些變數的整體為陣列,陣列的每個變數的資料型別是相同的。當陣列中每個元素都只帶有乙個下標時,稱這樣的陣列為一維陣列。例 int arr 4 這時,我們分析一下 arr arr 1 arr 2 的資料型別 可以看出arr指的是陣列首元素ar...
陣列(一維陣列 二維陣列)
陣列概述 c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。這些其實和泛型有些類似,陣列的操作沒有泛型方便,但是效能卻不是泛型所能比擬的 宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在...
初識一維陣列和二維陣列
陣列是一種 容器 可以儲存同一種型別的元素的一種 容器 而這裡我就我剛學的一維陣列和二維陣列,談談我的認識。陣列有兩種初始化 1 動態初始化 開發者定義陣列初始化的時候,指定陣列的長度,系統預設給陣列中的元素賦值.2 靜態初始化 直接指定陣列的元素內容,系統指定的陣列長度 1 動態初始化 兩種書寫方...