京东云服务器推荐配置、多种配置选择,满足不同业务需求!

热门推荐

⭐ 稳定入门选择

配置:2核2G/5M

适用场景:个人站点 / 轻量应用

特点:性价比高,稳定可靠

¥19/月
立即购买
流量友好

☁️ 轻量云主机

配置:2核4G 5M

适用场景:小型业务 / 博客 / 测试环境

特点:流量友好,性能均衡

¥149/年
立即购买
高性能

💻 云服务主机

配置:4核16G 8M

适用场景:中小型服务 / 多并发场景

特点:充足内存与带宽,性能强劲

¥750/年
立即购买
新人专享

🎁 新人福利

新人访问 → 点击 → 最新活动

可获取 3000元 礼券

立即领取
服务端 / C 语言教程 / C 语言数组
C 数组作为函数参数
C 标准库 <assert.h> C 语言多维数组

C 数组作为函数参数

在本教程中,您将学习通过示例将数组(一维和多维数组)传递给C语言编程中的函数的方法。

在C语言编程中,您可以将整个数组传递给函数。在了解这一点之前,让我们看看如何将数组的各个元素传递给函数。

传递单个数组元素

将数组元素传递给函数类似于将变量传递给函数。

示例1:传递数组

#include <stdio.h>
void display(int age1, int age2)
{
    printf("%d\n", age1);
    printf("%d\n", age2);
}

int main()
{
    int ageArray[] = {2, 8, 4, 12};

    //将第二个和第三个元素传递给display()
    display(ageArray[1], ageArray[2]); 
    return 0;
}

输出结果

8
4

示例2:将数组传递给函数

//程序通过传递给函数来计算数组元素的总和

#include <stdio.h>
float calculateSum(float age[]);

int main() {
    float result, age[] = {23.4, 55, 22.6, 3, 40.5, 18};

    //age数组传递给calculateSum()
    result = calculateSum(age); 
    printf("结果 = %.2f", result);
    return 0;
}

float calculateSum(float age[]) {

  float sum = 0.0;

  for (int i = 0; i < 6; ++i) {
		sum += age[i];
  }

  return sum;
}

输出结果

结果 = 162.50

要将整个数组传递给函数,仅将数组名作为参数传递。

result =  calculateSum(age);

但是,请注意[]在函数定义中的使用。

float calculateSum(float age[]) {
... ..
}

这将通知编译器您正在将一维数组传递给该函数。

将多维数组传递给函数

要将多维数组传递给函数,仅将数组的名称传递给函数(类似于一维数组)。

示例3:传递二维数组

#include <stdio.h>
void displayNumbers(int num[2][2]);
int main()
{
    int num[2][2];
    printf("输入4个数字:\n");
    for (int i = 0; i < 2; ++i)
        for (int j = 0; j < 2; ++j)
            scanf("%d", &num[i][j]);

    //将多维数组传递给函数
    displayNumbers(num);
    return 0;
}

void displayNumbers(int num[2][2])
{
    printf("Displaying:\n");
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 2; ++j) {
           printf("%d\n", num[i][j]);
        }
    }
}

输出结果

输入4个数字:
2
3
4
5
Displaying:
2
3
4
5

注意:在C语言编程中,可以将数组传递给函数,但是,不能从函数返回数组。

C 标准库 <assert.h> C 语言多维数组
下一篇:无