Originariamente inviato da P4nico
Si fin qui c'ero anche io... ma hai ribadito una cosa che a me non convince....

Il fatto che io possa dare l'indirizzo del primo elemento di un vettore ad un puntatore, e poi nel richiamo della funzione passo quest'ultimo, invece che il vettore stesso... cioè io l'ho vedo come del codice sprecato..... volevo capire in quale momento i puntatori sono inevitabili... cioè i vettori sono fondamentali... xke hanno la caratteristica di poter accumulare molti dati tutti in un unico vettore e fin qui ci sono... ma se i puntatori fanno delle cose, che posso essere fatte da altri, a cosa servono?? qualcuno potrebbe farmi 1 esempio concreto magari che io possa capire.

Vi ringrazio
Bhe un esempio a naso....

al posto di dichiarare un vettore di dimensione prefissata per mettervi una stringa,come per es.

char vett[100]

potresti usare un puntatore a char

char *vett;

e con l uso di malloc allocare il giusto spazio di memoria per allocare la tua stringa.
Con malloc puoi allocare stringhe di qualsiasi dimensione (a patto di non sforare la memoria! lol)
mentre con char vett[100] non puoi "usare" stringe maggiori di 99 caratteri e inoltre se "usi" stringhe con meno di 99 caratteri sprecheresti memoria.

Al contrario invece con char *vett potresti operare in questo modo;

vett=(char *) malloc(sizeof(char)*DimesioneTuaStringa);

Questo e un esempio stupidissimo, ma spero possa tornarti utile!