前幾天自己做題時遇見了陣列作為函式引數和使用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 動態初始化 兩種書寫方...