1、函数元素作为函数参数
当函数的形参类型与数组元素的类型相同时,数组元素与普通变量一样,可以作为函数实参,且由实参到形参的数据传递也是单向值传递
如
1 #include<stdio.h> 2 #define N 5 3 4 void swap(int x,int y) 5 { 6 int temp; 7 temp = x; 8 x = y; 9 y = temp; 10 } 11 12 int main() 13 { 14 int a = {1,2}; 15 printf("%d\t%d\n",a[0],a[1]); 16 swap(a[0],a[1]); 17 printf("%d\t%d\n",a[0],a[1]); 18 return 0; 19 }
结果为
1 1 2 2 1 2
由此可见,当数组元素作为函数的实参时,数组元素的值会自动初始化形参变量,当函数中的形参发生修改时,数组元素的值不会受到影响
2、数组名作为函数实参
常见函数首部格式定义为:
函数类型 函数名(数据类型 数组名[ ],int n);
如: void fun1(int a[ ] ,int n)
或:
函数类型 函数名 (数据类型 数组名[长度]);
如: void fun2 (int a[10])
3、定义数组输入、输出头文件
可以通过设计数组的输入、输出和随机数初始化数组的函数,存放在专门的头文件中,供程序调用,可提高编写效率
如:
可设计以下几个函数,并将其存放与Arry.h的头文件中
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 void input(int a[],int n)
{
int i;
printf("请输入%d个整数,整数间用空格分隔:\n",n);
for(i = 0;i < n;i++)
scanf("%d",a+i) //输入数组的前n个元素
}
void print(int a[],int n)
{
int i;
printf("\n数组内容是: \n");
for (i = 0;i<n;i++)
{if (i%10 = 0) printf("\n"); //输入数组的前n个元素,每行输10个
printf("%6d",a[i]);
}
printf("\n");
void init(int a[],int n)
{
int i;
srand(time(0));
for (i = 0;i<n;i++)
a[i] = rand()%1000+1; //将数组的前n个元素用随机数初始化
在编写数组程序中,可以用指令将三个函数应用到程序中使用
1 #include<Arry.h> 2 #define N 10 3 4 int main() 5 { 6 int a[N]; 7 input(a,N); 8 printf(a,N); 9 return 0; 10 }
原文:https://www.cnblogs.com/zhongllmm/p/13736842.html