Autoincremento e autodecremento
# Autoincremento e autodecremento

Nel C e in alcuni linguaggi di programmazione da esso derivati (come C++, Java e C#), l'autoincremento è l'aumento di 1 del valore di una variabile, mentre l'autodecremento è la diminuzione di 1 del valore di una variabile.

Per esempio:

L'operazione di autoincremento in molti linguaggi può anche essere scritta in uno dei due modi che seguono:

L'operazione di autodecremento può anche essere scritta così:

Le 2 versioni prefissa e suffissa non sono in generale equivalenti:

* nel primo caso, prima viene fatto l'incremento e poi viene valutata l'espressione;
* nel secondo caso, prima viene valutata l'espressione, e poi viene incrementata.

Se l'espressione è usata solo come istruzione, come negli esempi sopra, l'effetto è lo stesso nei due casi, ma se il valore risultante è utilizzato in un'espressione più ampia i due casi manifestano la loro diversità. Per esempio:

Questa sintassi viene utilizzata spesso nei cicli for e while per far scorrere l'indice di riferimento.

In C e C++, l'autoincremento può essere usato anche per sfruttare l'aritmetica dei puntatori oppure per passare da un elemento al successivo in una collezione di elementi mediante un iteratore. Infatti, incrementare di 1 un puntatore equivale a spostarlo all'elemento successivo di un array.

In alcuni dialetti SQL, un linguaggio di definizione, interrogazione e alterazione di data base, la keyword AUTO_INCREMENT o AUTOINCREMENT (autoincremento) indica un campo numerico il cui valore, se non diversamente indicato in fase di inserimento di un record, è automaticamente inizializzato al primo intero maggiore dell'ultimo valore assegnato a quel campo nel record precedente. In questo modo è possibile assegnare un numero univoco e crescente ai record inseriti in una tabella.

