数组是一组以通用名称存储的相关项目。
声明数组的语法如下-
datatype array_name [size];
数组可以通过两种方式初始化,如下所示:
编译时初始化。
运行时初始化。
数组也可以在声明时初始化,如下所示:
int a[5] = {100,200,300,400,500};
函数是一个自包含的块,可以执行特定的明确定义的任务。将数组作为参数传递给函数的两种方法如下:
发送整个数组作为函数的参数。
发送各个元素作为函数的参数。
现在,让我们了解如何将整个数组作为参数发送给C语言函数。
要将整个数组作为参数发送,请尝试在函数调用中发送数组名称。
要接收整个数组,必须在函数头中声明一个数组。
请参考下面给出的示例-
#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
以下是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