Ответ 1
Мой совет заключался бы в том, чтобы не использовать массивы typedefs, они делают код более трудным для чтения, поскольку это менее очевидно, когда размытие указателя массива происходит или не происходит.
Если вы хотите выделить смежный массив, вы можете написать:
int (*APSP)[SIZE] = malloc( sizeof(int[SIZE][SIZE]) );
а затем получить доступ к нему как APSP[0][0]
.
В вашем сообщении говорится о "malloc, как будто это был int **
", по которому я предполагаю, что вы хотите, чтобы вам были выделены отдельные распределения для каждой строки... но тогда вы должны написать int **APSP
и написать цикл для выделения каждой строки, это не имеет никакого отношения к [SIZE][SIZE]
.