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