В C можно вернуть массив элементов на выходе, хотя синтаксически это невозможно.
Однако, вы можете вернуть указатель на массив или передать указатель на массив в функцию, чтобы модифицировать его внутри функции.
Вариант 1: Возвращение указателя на массив
В этом случае вы можете объявить массив внутри функции, а затем вернуть указатель на этот массив. Например:
#include <stdio.h> int* getArray() { static int arr[5] = {1, 2, 3, 4, 5}; return arr; } int main() { int* arr = getArray(); for (int i = 0; i < 5; i++) { printf("%d ", arr[i]); } return 0; }
В этом примере функция getArray
объявляет статический массив arr
и затем возвращает указатель на этот массив. В функции main
мы принимаем этот указатель и выводим содержимое массива.
Вариант 2: Передача указателя на массив в функцию
Если вам нужно изменить массив внутри функции и иметь доступ к этому измененному массиву вне функции, вы можете передать указатель на массив в функцию. Например:
#include <stdio.h> void modifyArray(int* arr, int size) { for (int i = 0; i < size; i++) { arr[i] = arr[i] * 2; } } int main() { int arr[5] = {1, 2, 3, 4, 5}; modifyArray(arr, 5); for (int i = 0; i < 5; i++) { printf("%d ", arr[i]); } return 0; }
Здесь мы передаем указатель arr
и размер массива в функцию modifyArray
. Внутри функции мы умножаем каждый элемент массива на 2. В функции main
мы видим измененный массив.
Оба этих варианта позволяют получить массив элементов на выходе, когда возвращаемый тип функции int
. Вариант, который вам более подходит, зависит от ваших конкретных требований и предпочтений.