RISPOSTA 1 - ARRAY e PUNTATORIOriginariamente inviato da matrics21
Non sto rieso a capire come il c gestisce gli array.Il manuale che sto leggendo parla di gestione diversa dei puntatori,mi sto confondendo.
Aiutoo!![]()
Inoltre qual è la differenza tra le 2 istruzioni:
strcpy(s1,s2);
s1=s2;
L'aspetto che accomuna i puntatori e gli array è sostanzialmente il fatto che entrambi sono memorizzati in locazioni di memoria sequenziali, ed è quindi possibile agire su un array (se lo si vede come una serie di blocchi ad indirizzi di memoria sequenziali) come se si stesse agendo su un puntatore; ad esempio se dichiariamo un array "alfa" ed un puntatore "pointer":
in questo modocodice:// definisco un array ed una variabile intera int alfa[20], x; // creo il puntatore; int *pointer; // puntatore all'indirizzo di a[0] pointer = &a[0]; // x prende il valore di pointer, cioè di a[0]; x = *pointer;
pointer + i "è equivalente a" a[i]
RISPOSTA 2
la strcpy serve perche' una stringa e' un array di caratteri, quindi facendo un semplice assegnamento copi solo il primo elemento dell'array (cioe' s1=s2 e' come scrivere s1[0]=s2[0]) perche' il nome "s1" identifica solo il primo elemento.



Rispondi quotando