Non necessariamente... se per oggetto intende un oggetto software (e quindi una struttura)
Passare l'indirizzo di una struttura è molto necessaria se devi modificare valori all'interno della funzione e vuoi che siano modificati anche nella chiamante.
Ad esempio in questa funzione
void AddValore(miaStrutt *S,valore c)
{ S->campoqualsiasi=c; }
passi il puntatore perché vuoi modificare la struttura definitivamente. In quest'altra invece
void AddValore(miaStrutt S,valore c)
{ S.campoqualsiasi=c; }
cambi il valore di S NELLA sola funzione; Quando la funzione finisce nella chiamante non è stata modificata la tua struttura
Spero di essere stato chiaro
![]()