Menu
CoddyTech

Массивы в качестве аргументов функций

Часть раздела Основы путешествия по C на Coddy. Урок 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), представляющее размер массива.

Функция должна вычислить и вернуть сумму всех элементов массива.

Затем в главной функции:

  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