Динамический массив в языке программирования C

Динамический массив - это структура данных, которая позволяет динамически изменять размер массива во время выполнения программы. Это очень полезно, когда мы не знаем заранее точное количество элементов, которые нам потребуются.

В языке программирования C динамический массив можно создать с помощью использования функций malloc и free. Функция malloc выделяет память для массива, а функция free освобождает эту память после использования.


#include <stdio.h>
#include <stdlib.h>

int main() {
    int n; // переменная для хранения количества элементов, указанного пользователем
    int *arr; // указатель на динамический массив

    // получаем количество элементов от пользователя
    printf("Введите количество элементов: ");
    scanf("%d", &n);

    // выделяем память для динамического массива
    arr = (int*)malloc(n * sizeof(int));

    if (arr == NULL) {
        printf("Не удалось выделить память для массива.\n");
        return 1;
    }

    // заполняем массив случайными числами
    for (int i = 0; i < n; i++) {
        arr[i] = rand();
    }

    // выводим элементы массива на экран
    printf("Элементы массива:\n");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    // освобождаем память, выделенную для массива
    free(arr);

    return 0;
}

В этом примере мы сначала объявляем переменную n, в которой будет храниться количество элементов, указанное пользователем. Затем мы объявляем указатель arr, который будет указывать на динамический массив.

С помощью функции scanf мы получаем количество элементов от пользователя и сохраняем его в переменную n. Затем мы используем функцию malloc для выделения памяти для массива. Размер памяти, выделенной для массива, рассчитывается как n * sizeof(int), где sizeof(int) - размер типа данных int в байтах.

После выделения памяти мы проверяем, удалось ли выделить память для массива. Если указатель arr равен NULL, это означает, что выделение памяти не удалось, и мы выводим сообщение об ошибке.

Затем мы заполняем массив случайными числами с помощью функции rand. И, наконец, мы выводим элементы массива на экран с помощью цикла for и освобождаем память с помощью функции free.

Динамический массив позволяет гибко изменять размер массива во время выполнения программы. Это очень полезно, когда нам необходимо работать с переменным количеством элементов. Однако необходимо помнить, что после использования динамического массива его память должна быть освобождена с помощью функции free, чтобы избежать утечек памяти.

Похожие вопросы на: "динамический массив c "

NGINX Docker: установка, настройка и использование
Скачать Eclipse
Arduino Map - интерактивная карта для проектов на Arduino
1 or 1 1 - сайт о мире возможностей
Замена символов в строке Python
Ctrl Alt Del на удаленном рабочем столе
Ошибка TypeError: индексы строки должны быть целыми числами
Object Keys - основные методы JavaScript для работы с ключами объектов
Цвет фона страницы: важный аспект веб-дизайна
Git Hard Reset: как сбросить изменения в репозитории