Как создать динамический двумерный массив - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Не знаю как объявить двумерный массив. Пытался так сделать не подходит
float ** numbers = (float*) realloc (numbers, 2** sizeof(float));

Решение задачи: «Как создать динамический двумерный массив»

textual
Листинг программы
    // Создадим квадратный массив размера size
    int size, i;
    int** array = (int**)malloc(sizeof(int*) * size);
    for(i = 0; i < size; i++)
        array[i] = (int*)malloc(sizeof(int*) * size);
 
//... Что-то поделаем с ним
 
    // Очистим память
    for(i = 0; i < size; i++)
        free(array[i]);
    free(array);

Объяснение кода листинга программы

Создаётся двумерный массив (квадратный) размером size. Размер первого измерения (количество строк) равен size, размер второго измерения (количество столбцов) также равен size. Для каждой строки (i-й) создаётся отдельный блок памяти, который затем используется для хранения i-го столбца. Ссылка на память блока хранится в значении переменной array[i]. Код не делает ничего с массивом, он только создает его и освобождает память.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы