Hola, me estoy volviendo loco con un error en ejecución en un calloc para reservar memoria de un vector apuntandolo desde un puntero, os copio el codigo:
// declaro variables
Grafo G;
tCoste **D;
vertice **P;
// llamada a función
Dijkstra (ent, G, D, P);
void Dijkstra (vertice origen, Grafo G, tCoste **D, vertice **P) {
boolean *S;
int i;
vertice v, w;
tCoste CosteMin, Owv;
S = calloc(G->numVert, sizeof(boolean));
if (S == NULL) ERROR("Dijkstra(): No hay memoria para S");
S[origen] = TRUE; /* Incluir origen en S */
*D = calloc(G->numVert, sizeof(tCoste));
if (*D == NULL) ERROR("Dijkstra(): No hay memoria para D");
*P = calloc(G->numVert, sizeof(vertice));
if (*P == NULL) ERROR("Dijkstra(): No hay memoria para P");
Se corta la ejecución en el calloc de P, pero para las variables D y S funciona bien. ¿Alguien sabe que me pasa?
Gracias y un saludo