Чтобы передать динамический массив в функцию в языке C++, можно воспользоваться указателями. Указатель может хранить адрес памяти, где находится начало массива.
Вот пример:
#include <iostream> // Функция, принимающая динамический массив и его размер void printArray(int* arr, int size) { for(int i = 0; i < size; i++) { std::cout << arr[i] << " "; } std::cout << std::endl; } int main() { int size; std::cout << "Введите размер массива: "; std::cin >> size; // Выделение памяти для динамического массива int* array = new int[size]; std::cout << "Введите элементы массива: "; for(int i = 0; i < size; i++) { std::cin >> array[i]; } std::cout << "Массив: "; printArray(array, size); // Освобождение памяти delete[] array; return 0; }
В данном примере мы создаем функцию printArray
, которая принимает два аргумента: указатель на целочисленный массив arr
и его размер size
. В функции main
мы выделяем память для динамического массива с помощью оператора new
. Затем считываем элементы массива с помощью cin
и передаем массив и его размер в функцию printArray
. После работы с массивом мы освобождаем память с помощью оператора delete[]
.
Нужно помнить, что при работе с динамическими массивами необходимо следить за выделением и освобождением памяти, чтобы избежать утечек памяти. В качестве альтернативы использованию динамических массивов, вы можете использовать контейнеры STL, такие как std::vector
, которые предоставляют удобные методы для работы с динамическими массивами и автоматически управляют памятью.