/
vladislavANA
/
Programming
Обзор
Документация
Войти
/
vladislavANA
/
Programming
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
LR_6/func_dynamic2.c
45 строк
2 KB
vladislavANA
create LR_6/func_dynamic2.c
20 мар 2025, 15:49
20 мар 2025, 15:49
4946041
Код
Авторство
О чём код?
#include <stdio.h> #include <stdlib.h> // Создает копию массива и возвращает указатель на новый массив. // Аргументы: // src - указатель на исходный массив. // n - количество элементов в массиве. // Возвращает: // Указатель на новый массив, содержащий копию исходного массива. // Если выделение памяти не удалось, возвращает NULL. int* copyArray(const int *src, int n) { int *dest = malloc(n * sizeof(int)); if (dest == NULL) { return NULL; // Возвращаем NULL, если выделение памяти не удалось. } for (int i = 0; i < n; i++) { dest[i] = src[i]; // Копирование элементов из исходного массива в новый. } return dest; } int main(void) { // Инициализация исходного массива. int data[5] = {1, 2, 3, 4, 5}; // Создание копии массива. int *copy = copyArray(data, 5); if (copy == NULL) { // Вывод сообщения об ошибке, если выделение памяти не удалось. fprintf(stderr, "Ошибка выделения памяти\n"); return 1; } // Вывод элементов скопированного массива. printf("Скопированный массив: "); for (int i = 0; i < 5; i++) { printf("%d ", copy[i]); } printf("\n"); // Освобождение памяти, выделенной для копии массива. free(copy); return 0; }