Поскольку вы уже знаете размеры массива (3x5), вам не нужно выделять его динамически, используя malloc()
.
То, что у вас есть, правильно (но вы должны сделать его локальным, а не глобальным):
float array[3][5];
Это уже выделяет достаточно памяти для хранения всех элементов массива.
Также ваше требование гласит:
Я хочу, чтобы вы создали глобальную постоянную переменную для храненияэти измерения и используйте их в своем коде.
Это означает, что вам необходимо объявить константы для обозначения элементов массива, например:
const int rows = 3;
const int columns = 5;
float array[rows][columns];
РЕДАКТИРОВАТЬ:
Из ваших комментариев, я полагаю, вы используете c89 (или более раннюю версию). В c99 переменные длины массива (посмотрите VLA
в Google, если вы не знаете об этом) разрешены, что означает вышебудет компилировать. Но в c98 VLA не допускаются.C89 и более ранние версии требуют использования константных выражений во время компиляции для измерения массива. Поэтому вам нужно будет использовать константные выражения во время компиляции (которых переменные, соответствующие константам, отсутствуют в C).Так что вам нужно будет использовать:
#define ROWS 3
#define COLUMNS 5
float array[ROWS][COLUMNS];