Copio da una pagina web:

codice:
void funzione_stupida( int *x ) {
    *x++;
}
...
mail() {
    int y = 10;
    ...
    funzione_stupida( &y );
    ...
}
L'esempio mostra la dichiarazione e descrizione di una funzione che non restituisce alcun valore, e riceve un parametro puntatore a un intero. Il lavoro della funzione č solo quello di incrementare il valore contenuto nell'area di memoria a cui si riferisce tale puntatore.

Poco dopo, nella funzione main() inizia il programma vero e proprio; viene dichiarata la variabile y, un intero normale inizializzato a 10, e a un certo punto viene chiamata la funzione vista prima, passando il puntatore a y.

Il risultato č che dopo la chiamata, la variabile y contiene il valore precedente incrementato di un'unitą.
Il mio dubbio č, perchč se il metodo usa puntatori non li uso nel main? Quando passo &y quella locazione contiene 10, ma non punta ad un' altra cella di memoria......accade forse perchč non essendo un puntatore viene modificato il valore medesimo della locazione che passo come parametro?