Предполагая, что я инициализировал массив int, используя двойной указатель
int **array;
Я использовал malloc, чтобы получить желаемый размер массива, подобный этому
array = malloc( sizeof *array * ROWS );
if ( array ){
for ( size_t i = 0; i < ROWS; i++ )
*(array + i) = malloc( sizeof *(*(array + i)) * COLS );
}
Каждый индекс массива объявляется со случайным числом int.
Я пытаюсь найти более быстрый способ скопировать строку или столбец, а не использовать для циклов. Мой выбор - использовать memcpy, с самого начала это выглядело как хорошая идея, так как у меня не было проблем с копированием строки с использованием
memcpy((array + 1), (array + 3), (int)sizeof(int **));
Однако, когда дело доходит до столбцов, использующих
memcpy(*(array + 1), *(array + 3), (int)sizeof(int *));
на самом деле не работает, как я ожидал, и был скопирован только один элемент. Есть что-то, чего мне не хватает?