Массивы в качестве аргументов функций
Часть раздела Основы путешествия по 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}Задание
ЛегкоСоздай функцию с именем sumArray, которая принимает два аргумента:
- Массив целых чисел (arr).
- Целое число (size), представляющее размер массива.
Функция должна вычислить и вернуть сумму всех элементов массива.
Затем в главной функции:
- Считай целое число n (размер массива).
- Считай n целых чисел и сохрани их в массиве.
- Вызови функцию sumArray с массивом.
- Выведи сумму в формате: "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;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
2Переменные
Типы данныхЦелое числоFloat — DoubleСимволыЛогические значенияКонстантыОсновы printfПравила именования переменныхПреобразование типов, часть 1Преобразование типов, часть 2Итоговое задание на повторение5Ввод и вывод
Спецификаторы форматаОсновы scanfЗадание на повторение #1Проверка вводаЗадание на повторение #28Массивы
Объявление массивовДоступ к элементамИзменение элементовМногомерные массивыИтоговое задание №1Массивы в качестве аргументов функцийАлгоритмы работы с массивамиИтоговое задание №23Операторы
Арифметические операторыОператор остатка от деленияИнкремент/декрементОператоры присваиванияОператоры сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Логические операторы. Часть 3Итоговое заданиеПотренируйтесь самостоятельно: Онлайн-компилятор C