如何使用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); // 使用数组名称发送整个数组“ a”

   getch( );

}

void display (int a[5]) {//接收整个数组

   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: \n");

   //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 : \n");

   rev(array); // 使用数组名称发送整个数组“ a”

   getch();

}

void rev(int array[5]){ //接收整个数组

   int i;

   for(i=4;i>=0;i--){

      //Displaying O/p//

      printf("array[%d] :",i);

      printf("%d\n",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

以上是 如何使用C语言将整个数组作为参数发送? 的全部内容, 来源链接: utcz.com/z/313961.html

回到顶部