如何在C語言中將整個陣列作為引數傳遞?
陣列是由一組相關的項組成,它們使用一個共同的名稱進行儲存。
陣列宣告
宣告陣列的語法如下:
datatype array_name [size];
初始化
陣列可以透過以下兩種方式進行初始化:
- 編譯時初始化。
- 執行時初始化。
陣列也可以在宣告時進行初始化,如下所示:
int a[5] = {100,200,300,400,500};函式
函式是一個自包含的程式碼塊,它執行一個特定且明確定義的任務。將陣列作為引數傳遞給函式的兩種方法如下:
將整個陣列作為引數傳遞給函式。
將各個元素作為引數傳遞給函式。
現在,讓我們瞭解如何在C語言中將整個陣列作為引數傳遞給函式。
將整個陣列作為引數傳遞給函式
要將整個陣列作為引數傳遞,請嘗試在函式呼叫中傳遞陣列名。
要接收整個陣列,必須在函式頭中宣告一個數組。
示例1
請參考以下示例:
#include<stdio.h>
main ( ){
void display (int a[5]);
int a[5], i;
clrscr( );
printf ("enter 5 elements");
for (i=0; i<5; i++)
scanf("%d", &a[i]);
display (a); // Sending entire array ‘a’ using array name
getch( );
}
void display (int a[5]) {//receiving entire array
int i;
printf ("elements of the array are");
for (i=0; i<5; i++)
printf("%d ", a[i]);
}輸出
編譯並執行上述程式碼後,將產生以下結果:
Enter 5 elements 10 20 30 40 50 Elements of the array are 10 20 30 40 50
示例2
以下是用C語言編寫的程式,用於以相反的順序列印陣列中的元素:
#include<stdio.h>
void main(){
//Declaring the array - run time//
int array[5],i;
void rev(int array[5]);
//Reading elements into the array//
printf("Enter elements into the array:
");
//For loop//
for(i=0;i<5;i++){
//Reading User I/p//
printf("array[%d] :",i);
scanf("%d",&array[i]);
}
//Displaying reverse order of elements in the array//
printf("The elements from the array displayed in the reverse order are :
");
rev(array); // Sending entire array ‘a’ using array name
getch();
}
void rev(int array[5]){ //receiving entire array
int i;
for(i=4;i>=0;i--){
//Displaying O/p//
printf("array[%d] :",i);
printf("%d
",array[i]);
}
}輸出
編譯並執行上述程式後,將產生以下結果:
Enter elements into the array: array[0] :23 array[1] :34 array[2] :12 array[3] :56 array[4] :12 The elements from the array displayed in the reverse order are: array[4] :12 array[3] :56 array[2] :12 array[1] :34 array[0] :23
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP