Linguaggio C: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 2 201:
''pa'' inizialmente sta puntando al quarto elemento dell'array ''a'', pa = &a[3]. L'istruzione ''pa = pa + j'' farà in modo che pa punti all'ottavo elemento ''a[7]''.
 
In generale diciamo che se ''p'' punta ad ''a[i]'', allora ''p + j'' punterà ad ''a[i + j]'', sempre se a[i+j] esista.
 
===== Sottrazione di un intero a un puntatore =====
Analogo discorso si fa per quanto riguarda la sottrazione di un intero a un puntatore. Consideriamo ancora il seguente frammento:
<source lang="C">
{
char a[10];
char *pa;
int j = 6;
pa = &a[7];
pa -= j;
}
</source>
pa inizialmente punta ad ''a[7]''. In questo caso l'istruzione ''pa -= j'' farà in modo che pa punti all'elemento ''a[1]'' dell'array.
In generale, se un puntatore p punta ad un elemento di un array a[i], allora l'operazione ''p - j'' farà puntare p ad ''a[i-j]'', sempre se ''a[i-j]'' esista.
 
=== Puntatori a puntatori ===