關於一維陣列和二維陣列的基本解析

2021-08-04 12:26:20 字數 1696 閱讀 3746

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 動態初始化 兩種書寫方...