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

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

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

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

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

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

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

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

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


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

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

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы