陣列與函式

2021-09-10 08:58:17 字數 1653 閱讀 5991

一維陣列在前一篇部落格

二維陣列

二維陣列定義的一般形式為:

型別說明符 陣列名[常量表示式][常量表示式];

例如:定義a為3×4(3行4列)的陣列,b為5×10(5行10列)的陣列。

如下:float a[3][4],b[5][10];

資料型別 :

陣列名 [常量表示式1][常量表示式2]={ 初始化資料 };

4種方法對二維陣列初始化:

1.分行給二維陣列賦初值。

例如: int a[3][4]=,,

};2.可以將所有資料寫在乙個花括號內,按陣列排列的順序對各元素賦初值。

例如:int a[3][4]=;

3.可以對部分元素賦初值。

例如: int a[3][4]=, , };也可以對各行中的某一元素賦初值,如int a[3][4]=, , };

4.如果對全部元素都賦初值,則定義陣列時對第一維的長度可以不指定,但第二維的長度不能省。

例如:int a[3][4]=;等價於:、int a[ ][4]=;

字元陣列

為了測定字串的實際長度,c語言規定了乙個「字串結束標誌」——『\0』。

字元陣列的輸入輸出可以有兩種方法:

逐個字元輸入輸出。用格式符「%c」輸入或輸出乙個字元。

將整個字串一次輸入或輸出。用「%s」格式符,意思是對字串的輸入輸出。

說明:(1)用「%s」格式符輸出字串時,printf函式中的輸出項是字元陣列名,而不是陣列元素名。

(2)如果陣列長度大於字串實際長度,也只輸出到遇′\0′結束。

(3)輸出字元不包括結束符′\0′。

(4)如果乙個字元陣列中包含乙個以上′\0′,則遇第乙個′\0′時輸出就結束。

(5)可以用scanf函式輸入乙個字串。

函式

c程式:

只包含乙個主函式main()

也可以包含乙個主函式和若干個其它函式(庫函式和自定義函式)

函式型別 函式名(形式引數型別說明表)

函式型別 函式名(形式引數型別說明表)

如:printf(「hello,world!\n」);

max(10,20);

函式呼叫的形式:

(1)作為函式語句呼叫。函式一般無返回值。例:

printf(「hello,world!\n」);

(2)作為函式表示式呼叫。例:

m=max(a,b)*2;

(3)作為函式引數呼叫。例:

printf(「%d」,max(a,b));

m=max(a,max(b,c));

形參與實參

形式引數:定義函式時函式名後面括號中的變數名

實際引數:呼叫函式時函式名後面括號中的表示式

例 比較兩個數並輸出大者

值傳遞方式方式:

函式呼叫時,為形參分配單元,並將實參的值複製到形參中;

呼叫結束,形參單元被釋放,實參單元仍保留並維持原值;

特點:形參與實參占用不同的記憶體單元; 單向傳遞

位址傳遞方式:

函式呼叫時,將資料的儲存位址作為引數傳遞給形參

特點:形參與實參占用同樣的儲存單元;

「雙向」傳遞;

實參和形參必須是位址常量或變數;

陣列與函式

不能將乙個陣列賦值給另乙個陣列 int cards 4 int hand 4 hand cards wrong hand 4 wrong,陣列只有在定義時才能初始化,此後不能,但是可以用下標分別給陣列中的元素賦值注 但是結構體struct可以用賦值運算子 將結構賦給另乙個同型別的結構,即使結構中包含...

陣列與函式

建立陣列的兩種方法 1 利用new來建立物件 2 利用字面量來建立陣列 1 var arr new array 2 var arr 1,2,3,4,5,6,7,陣列排序 利用array中的sort函式進行排序 sort 它可以接收乙個自定義的排序規則函式,也可以不接收 使用字典順序 如你要給它乙個排...

c指標陣列與陣列指標與指標函式與函式指標筆記

include include typedef struct t ooxx t ooxx,pt ooxx 測試陣列指標 void test ooxx arrayp t ooxx p int num 測試指標陣列 void test ooxx parray t ooxx p,int num 測試函式指...