Linguaggio C: differenze tra le versioni

Jump to navigation Jump to search
 
===== Somma di un intero a un puntatore =====
La somma di un intero ''j'' a un puntatore ''p'' che punti a un elemento del vettore ''a'', sposterà quel puntatore di j posizioni avanti rispetto a dove stava puntando p in precedenza. In altre parole se consideriamo il seguente frammento di codice:
 
<source lang="C">
{
char a[10];
char *pa;
int j;
j=4;
pa = a; //Punta all'array a, a[0]
pa = pa + j; //pa si sposta di j posizioni in avanti, punta ad a[j]
}
</source>
 
''pa'' inizialmente sta puntando al primo elemento dell'array ''a'' (pa = a), a[0]. L'istruzione ''pa = pa + j'' farà in modo che pa punti ad ''a[4]''.
 
Concludendo diciamo che se ''p'' punta ad ''a[i]'', allora ''p + j'' punterà ad ''a[i + j]''.
 
=== Puntatori a puntatori ===
22

contributi

Menu di navigazione