将数组传递给函数

一维数组

传递数组给函数的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语言中,与数组一样,字符串不能按值传递给函数。



阅读更多
文章标签: 函数
个人分类: programming language
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭