Scusatemi ma non riesco a capire, ho provato a scrivere questo programma di esempio :
Codice PHP:
#include <stdio.h>
void incremento(int *);
int main(int argc, char *argv[])
{
int x = 3;
incremento(&x);
printf("%d \n", x);
system("PAUSE");
return 0;
}
void incremento(int *a)
{
*a += 2; // qua c'e' la differenza
return;
}
e questo :
Codice PHP:
#include <stdio.h>
void incremento(int *);
int main(int argc, char *argv[])
{
int x = 3;
incremento(&x);
printf("%d \n", x);
system("PAUSE");
return 0;
}
void incremento(int *a)
{
a += 2; // qua c'e' la differenza
return;
}
Il primo programma stampa 3 e il secondo stampa 5.
Quindi io se faccio somme o sottrazioni su puntatori allora cambia il valore delle variabili puntate (infatti i puntatori servono a questo), e allora perchè nell'esempio del mio primo posto il comando *x - 1 non decrementa la variabile 'v' ????