将数组传递给函数
一维数组
传递数组给函数的3个原则
1.函数调用时只需传递数组名。
2.在函数定义中,形参的类型必须与数组的相同,数组的大小不必指定。
3.函数原型必须定义为参数是一个数组。
#include <stdio.h>
#include <stdlib.h>
void sort(int x[], int m);
int main()
{
int i;
int marks[5] = {40, 90, 73, 81, 35};
printf("Marks before sorting\n");
for(i = 0; i < 5; i++)
printf("%d ", marks[i]);
printf("\n");
sort(marks, 5);
printf("Marks after sorting\n");
for(i = 0; i < 5; i++)
printf("%d ", marks[i]);
printf("\n");
system("pause");
}
void sort(int x[], int m)
{
int i, j , t;
for(i = 1; i <= m-1; i++)
for(j =1; j <= m-i; j++)
if(x[j-1] >= x[j])
{
t = x[j-1];
x[j-1] = x [j];
x[j] = t;
}
}
二维数组
1.函数调用时只需传递数组名。
2.在函数定义中,必须使用两个方括号以表明数组为二维的。
3.必须指定数组第二个维的大小。
4.函数原型的定义必须与函数头相同。
将字符串传递给函数
1.要传递的字符串必须在定义时声明为函数的形参。例如:
void display(char item_name[])
{
……
}
2.函数原型必须能表示参数是字符串。对于上面的函数定义,其原型可以写做:
void display(char str[]);
3.函数调用必须带一个无下标的字符串数组名作为其实参。例如:
display(name);
其中,name是在调用函数中已正确声明的字符串数组。
在C语言中,与数组一样,字符串不能按值传递给函数。

浙公网安备 33010602011771号