A;
pc += n*sizeof(int*);
for (int i=0; i<n; i++)
. A[i] = pc + i*sizeof(m*sizeof(int));
///////////////////////////////////////////////
Всем привет! Может кто объяснить этот код (Динамический массив)?
1. Выделяется последовательность байтов и указатель на начало сохранятся в A.
2. В pc сохраняется колво памяти под указатель, чтобы пропустить указатели? Почему char?
3. A[i] = pc + i*sizeof(m*sizeof(int)); - этот момент совсем не понятен. Что есть A[I]? Указатель на указатель или int? pc + ... Тут я вообще запутался
Комменты не читал, сорри, здесь детская реализация матрицы на линейном блоке памяти, т.е. выделили память всего 1 раз - под массив указателей размерности n + под матрицу m * n, адрес начала положили в указатель на массив указателей, а далее циклом прошлись и записали в каждый элемент адрес начала каждой строки.
Обсуждают сегодня