Salve a tutti.
Sto studiando le stringe di caratteri in C e in particolare come esse vengono passate a una funzione.
Ho visto che se voglio che la funzione modifichi la stringa, nel prototipo di funzione e nell'intestazione si dovrebbe scrivere:
function(char *stringPtr)
dove stringPtr è il puntatore alla stringa. Perché non si può usare direttamente
function(char string)
dato che string, il nome della stringa, non è altro che un puntatore al primo carattere? Che cosa fa questo prototipo/intestazione?
Da quanto ho capito, una stringa è un vettore di caratteri. Però nel caso di vettori, essi possono essere passati a funzioni direttamente con il loro nome e la funzione potrà modificarli:
function(int vector)
senza dover ricorrere alla sintassi function(int *vectorPtr).
Questa differenza mi confonde ulteriormente le cose...![]()
Grazie anticipatamente!!![]()