В настоящее время я работаю над проектом, который использует 2D-массивы.У меня есть функция, которая создает двумерный массив целых чисел, и другие, которые находят кратчайший путь и т. Д., И все они отлично работают.
Однако у меня возникают проблемы с другой частью, где я получаю 'Ошибка доступа Access 'при попытке инициализировать эти массивы:
// |V|x|V| arrays
int** fwdistance = malloc(vertexCount*vertexCount*(sizeof(int)));
int** fwnext = malloc(vertexCount*vertexCount*(sizeof(int)));
for (int i = 0; i < vertexCount; i++) {
for (int j = 0; j < vertexCount; j++) {
fwdistance[i][j] = INT_MAX; // Distances = infinity
fwnext[i][j] = -1; // Next nodes are unknown
}
}
Ошибка при попытке инициализировать fwdistance [0] [0].Как я уже упоминал, другие массивы инициализируются таким же образом, и они отлично работают:
// Initialises arrays for Dijkstra's Shortest Path algorithm
int *distance = malloc(vertexCount*(sizeof(int)));
int *previous = malloc(vertexCount*(sizeof(int)));
Честно говоря, понятия не имею!