将数组传递给函数

一维数组

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

    原文作者:GiveUping
    原文地址: https://blog.csdn.net/Ammon_Zhang/article/details/78932021
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞