Я кодирую в C, и мне нужно работать с png-изображениями, поэтому я работаю с библиотекой libpng
. В моем проекте я использую эту структуру:Синтаксис не ясен о указателях и матрице
png_bytep *row_pointers; /* <-- to declare the pointer that will contain the image
and this to initialize the pointer to contain the image. */
row_pointers = (png_bytep*)malloc(sizeof(png_bytep) * height);
for(int y = 0; y < height; y++) {
row_pointers[y] = (png_byte*)malloc(png_get_rowbytes(png,info));
}
Моя проблема заключается: после того, как этот кусок кода мой образ copyed в row_pointers и я хочу, чтобы скопировать его в png_byte map[x][y]
, так что я могу работать Исли пиксель для пикселя. Кто-нибудь может мне помочь? Thanks
Вы уверены, что 'row_pointers' не является двойной стрелкой? – haccks
нет, я нет. Я скопировал эту часть кода, и это причина моих дублетов. PS: Если это двойной указатель, как я мог его скопировать в другую более простую структуру? –
@haccks 'png_bytep'' 'в конце указывает, что это байт-понитер. Так что это правильно. Он должен удалить свой бросок на каждом malloc. Он не нужен в C. – RedX