一維陣列和二維陣列的宣告和它們作為函式引數的寫法

2021-08-20 19:42:15 字數 1430 閱讀 1677

前幾天自己做題時遇見了陣列作為函式引數和使用n個數字參與操作的題,申請大小為n的陣列,n由使用者定義,我自己寫下自己的收穫

1.1一維陣列的宣告

一維陣列例如:

int a[10];

char str[10];

這樣寫宣告乙個大小為10的整形陣列陣列名為a和申請乙個大小為10的字元型陣列陣列名為str,如果你先宣告乙個陣列,大小由自己輸入,這樣寫就不行了。那麼,我們可以試試這樣寫:

使用malloc,calloc新增標頭檔案#include」

1.2二維陣列的宣告

例如:

int a[5][5];

char str[3][10];

宣告乙個整形的二維陣列,五行五列;

宣告乙個二維字元型陣列,三行,每行十個單位大小;

如果使用calloc定義,則可以這樣寫:

int *a[5],i;//首先申請乙個int型指標陣列,陣列中5個int型指標

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

a[i]=(int *)calloc(n,sizeof(int));//分別給每個指標陣列中的元素分配空間;

2.1一維陣列作為函式引數

#include"stdio.h"

int max(int

*a);

int main()

int max(int

*a)

或者這樣寫:

#include"stdio.h"

#include"stdlib.h"

int max(int

*a);

int main()

int max(int

*a)

2.2二維陣列作為函式引數

二維陣列作為函式的引數時,因為二維陣列在本質上是乙個二級指標,也就是**p,它做函式引數的寫法有兩種:

a:函式型別 函式名(資料型別 [n]);

例:

#include

#define n 5

#define m 3

//這是乙個求最大值的函式

int max(int num[n]); //用n來表示二維陣列的列數

int main()

int max(int num[n])

b:

函式型別 函式名(資料型別 **p);

例:

#include

#include

#define n 5

#define m 3

//這是乙個求最大值的函式

int max(int **num); //用n來表示二維陣列的列數

int main()

int max(int **num)

一維陣列和二維陣列

一維陣列和二維陣列 一維陣列 在程式中可以使用下標變數,即說明這些變數的整體為陣列,陣列的每個變數的資料型別是相同的。當陣列中每個元素都只帶有乙個下標時,稱這樣的陣列為一維陣列。例 int arr 4 這時,我們分析一下 arr arr 1 arr 2 的資料型別 可以看出arr指的是陣列首元素ar...

陣列(一維陣列 二維陣列)

陣列概述 c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。這些其實和泛型有些類似,陣列的操作沒有泛型方便,但是效能卻不是泛型所能比擬的 宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在...

初識一維陣列和二維陣列

陣列是一種 容器 可以儲存同一種型別的元素的一種 容器 而這裡我就我剛學的一維陣列和二維陣列,談談我的認識。陣列有兩種初始化 1 動態初始化 開發者定義陣列初始化的時候,指定陣列的長度,系統預設給陣列中的元素賦值.2 靜態初始化 直接指定陣列的元素內容,系統指定的陣列長度 1 動態初始化 兩種書寫方...