如何在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

更新于:2021年3月17日

229 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.