数组与函数 : 传递数组给函数和从函数返回数组(菜鸟教程写的真不错)

这篇博客介绍了C语言中如何传递数组给函数,包括三种方法:不指定第一维长度但指定第二维、使用指针和降维访问。同时,文章也指出C语言不允许直接返回数组,但可以通过返回指向数组的指针实现。此外,还强调了返回局部数组变量地址的限制,需注意静态变量的情况。
摘要由CSDN通过智能技术生成

C 传递数组给函数

void myFunction(int *param);//形式参数是一个指针
void myFunction(int param[10]);//形式参数是一个已知大小的数组
void myFunction(int param[]);//形式参数是一个未知大小的数组

从上面最后一种方式看,作为参数传递时候,数组的长度是无关紧要的,因为C不会对形式参数执行边界检查。

#include <stdio.h>
double getAverage(int arr[], int size);/* 函数声明 */
 int main ()
{  int balance[5] = {1000, 2, 3, 17, 50}; /* 带有 5 个元素的整型数组 */
   double avg;  avg = getAverage( balance, 5 ) ;/* 传递一个指向数组的指针作为参数 */
   printf( "平均值是: %f ", avg );  /* 输出返回值 */
    return 0;  }
 
double getAverage(int arr[], int size)
{int    i; double avg;double sum=0;
 for (i = 0; i < size; ++i)
  {sum += arr[i];}
  avg = sum / size;
  return avg;}

注意,如果形参是二维数组,第一维的长度可以不用指定,但是第二维的长度必须指定。
方法1 第一维的长度可以不指定,但必须指定第二维的长度:void my_function(int array[][32]);
方法2 指向一个有32个元素一维数组的指针:void my_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值