Salve a tutti,
la domanda che mi assilla è la seguente:
fino ad oggi ho sempre visto due modelli di funzioni per queste due strutture dati, quello procedurale (passo la struttura alla funzione e la faccio restituire modificata ES: Ttree bst_create(Ttree)), oppure un modello funzionale in cui ragiono con i puntatori
Es: void bst_create(Ttree*).
Ora mentre faccio una prova d'esame mi ritrovo una funzione di questo tipo:
bool aggiungi_paziente(TBinaryTree albero, TList lista, TQueue *coda, TInfoAlbero info);
la quale dovrebbe fare le seguenti cose se la lista è vuota aggiungo il nuovo paziente (che sarebbe la info) all'albero e tolgo un posto disponibile dalla lista, invece se la lista è piena metto il paziente nella coda.
la mia domanda è visto che in ogni caso questa funzione modifica le strutture dati che passo alla funzione dal main non dovrei passare il puntatore a queste strutture??? poichè se le passassi per valore le eventuali modifiche apportate dalla funzione non modificano le variabili del main ??
Grazie a tutti per l'aiuto