In generale, sulle allocazioni dinamiche in memoria, considera che al di lā delle varie differenze una delle discriminanti principali č il tempo di vita delle variabili . Se allochi nello stack (dichiari localmente) il tempo di vita della variabile dura finchč dura la visibilitā della variabile.
Se allochi dinamico (nel heap ad es con malloc etc. ) il tempo di vita č uguale a quello del programma o finchč non deallochi volontariamente (con free), a quel punto devi solo stare attento a non perderti il puntatore.
Questo come regola generale sulle allocazioni dinamiche ed č uno dei principali criteri per scegliere se una variabile ti serve allocata dinamica o no. Ripeto : vale in generale, indipendentemente dal grafo che stai facendo

Spero la spiegazione sintetica sia chiara...