View Single Post
Old 19-11-2002, 10:19   #8
MetalMassacre
Senior Member
 
L'Avatar di MetalMassacre
 
Iscritto dal: Jan 2002
Città: VENICE
Messaggi: 1241
Quote:
Originariamente inviato da cionci
[b]
Gli array statici (quindi anche un vettore di char) in C non sono altro che puntatori non modificabili ad uno spazio già allocato... Quindi str preso così è il puntatore al primo elemento dell'array...str[1] ritorna il valore del secondo elemento dell'array...quindi &str[1] è l'indirizzo del secondo elemnto dell'array...che equivale a fare str+1 (usando l'aritmetica dei puntatori)...

%ca è %c che stampa un carattere (str[0] che va stampato in fondo)...mentre 'a' è la lettera che va aggiunta dopo l'ultimo carattere...

quindi se non ho capito male... facendo %s &str[1] stampi una stringa di lettere successive a partire dal 2°elemento dell'array (dato che 'indice parte da 0)...
mentre con %ca &str[0] riprendi il primo elemento dell'array e lo fai riscrivere in coda con l'aggiunta della 'a'...

ma se avevo un array di numeri e volevo stampare dal secondo elem. in poi era lo stesso procedimento mettendo però %d&str[1] ? ma cosi facendo...non mi stamperebbe solo l'elemento corrispondente a quell'indirizzo di mem. dell'array?

__________________
...Fight with your heart, and you're Destined For Glory
But fight without soul and you will loose it all...
MetalMassacre è offline   Rispondi citando il messaggio o parte di esso