Menu
CoddyTech

将数组作为函数参数

本课属于 Coddy C 学习旅程的“基础知识”单元。第 58 课,共 63 课。

在 C 中,数组可以作为参数传递给函数。将数组传递给函数时,实际传递的是第一个元素的内存地址。

声明一个数组和一个以它为参数的函数:

void displayArray(int arr[], int size) {
    for(int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

创建一个数组并调用函数:

int numbers[5] = {10, 20, 30, 40, 50};
displayArray(numbers, 5);

将数组传递给函数时,在函数内部对数组所做的更改会影响原数组:

void doubleValues(int arr[], int size) {
    for(int i = 0; i < size; i++) {
        arr[i] = arr[i] * 2;
    }
}

// 调用函数
doubleValues(numbers, 5);
// 现在 numbers 包含:{20, 40, 60, 80, 100}
challenge icon

挑战

简单

创建一个名为 sumArray 的函数,它接受两个参数:

  • 一个整数数组(arr)。
  • 一个整数(size),表示数组的大小。

该函数应计算并返回数组中所有元素的和。

然后,在 main 函数中:

  1. 读取一个整数 n(数组的大小)。
  2. 读取 n 个整数,并将它们存储在一个数组中。
  3. 使用该数组调用 sumArray 函数。
  4. 按以下格式打印总和:"Sum: X"(其中 X 是总和)。

亲手试试

#include <stdio.h>

// 在这里编写你的 sumArray 函数

int main() {
    int n;
    scanf("%d", &n);
    
    int arr[n];
    for(int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    
    // 调用 sumArray 函数并打印结果
    
    return 0;
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: C 在线编译器