1 год назад
Создание двумерного динамического массива с выделением памяти на Си
Для того чтобы создать двумерный динамический массив на си необходимо выделить память под один одномерный массив, элементами которого будут также являться одномерные массивы. Пусть наш массив будет называться А и хранить в себе целочисленные значения. Для начала необходимо вспомнить, что имя массива содержит в себе ссылку на первый элемент, поэтому мы будем использовать указатель (*). Так как массив A будет двумерным, то он будет указывать на элемент, который также будет являться массивом. То есть для него также потребуется указатель, тогда его объявление будет выглядеть следующим образом: int** a, то есть указатель, на указатель на int...
Динамический массив
Динамические массивы в общем и целом похожи на обычные массивы фиксированной длинны за исключением некоторых моментов. Для работы с динамическим массивом уже требуются начальные знания и понимание работы указателей. В случае, где размерность массива задается пользователем необходимо применят динамические массивы. Для его объявления требуется использовать специальную функцию выделения памяти new. int num; // размер массива, в дальнейшем принимается из потока ввода. int *arr = new int[num]; // выделение памяти для элементов массива. В данном объявлении видно как объявляется указатель на элемент целочисленного типа *arr после чего происходит присвоение выделенной памяти...