/in/foo.c: In function 'add_edge':
/in/foo.c:25:20: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
new_edge->next = graph[u].head;
^
/in/foo.c: In function 'dijkstra':
/in/foo.c:53:61: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
for (Edge* edge = graph[u].head; edge != NULL; edge = edge->next) {
^
/in/foo.c: In function 'free_graph':
/in/foo.c:68:21: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
current = current->next;
^
/in/foo.c: In function 'main':
/in/foo.c:65:15: warning: iteration 999 invokes undefined behavior [-Waggressive-loop-optimizations]
Edge* current = graph[i].head;
^~~~~~~
/in/foo.c:64:5: note: within this loop
for (int i = 1; i <= n; i++) {
^~~