|
|
| Contenidos > 1.8.6 Los operadores
incremento (++)
y decremento (--) |
|
|
| 1.8.6
Los operadores incremento (++) y decremento (--) |
|
|
|
En
lenguaje C, tanto el operador incremento (++)
como el operador decremento (--)
actúan siempre sobre un solo operando, normalmente una
variable.
Por tanto, son operadores monarios, y sirven para incrementar o
decrementar en una unidad el valor de dicho operando.
Ejemplo
1: Declaradas
las variables:
int r = 8, s = 3;
se
pueden
escribr
las instrucciones de expresión:
r++;
s--;
Dichas
instrucciones son equivalentes a:
r =
r
+ 1;
s = s - 1;
Y también se pueden escribir como:
++r;
--s;
Tras su ejecución, el aspecto de la memoria será:
En estas instrucciones, ambos operadores se pueden escribir,
indistintamente, antes o después de los operandos sobre los
que
actúan. Pero, cuando en una expresión,
además del
operador incremento o decremento, también aparecen otros
operadores, entonces sí que hay que tener en cuenta la
diferencia que supone el escribirlos antes o después.
Ejemplo
2: A
partir de las variables:
int i = 5, j, k = 5, m;
Si
se
ejecutan las
instrucciones:
j
= i++;
m = ++k;
Los valores de las variables en memoria serán:
Obsérvese
que,
los
valores de j
y m
son diferentes. Esto es debido a que, cuando se evalúa la
expresión j = i++,
en primer lugar, se le asigna a j
el valor de i
(es decir, un 5)
y, a continuación, se incrementa el valor de la
variable i.
Por el contrario, cuando se evalúa la
expresión m = ++k,
primero, se incrementa el valor de k
(de 5
pasa a ser 6)
y, después, este nuevo valor de k
se le asigna a m.
En resumen, cuando en una expresión el operador incremento (++)
o decremento (--)
precede al operando sobre el que actúa (por ejemplo ++k),
antes de utilizar el valor de dicho operando para otro
propósito, este se incrementa. De ser al revés,
es decir, si es el operando quien precede al operador (por
ejemplo i++),
el valor de dicho operando se incrementa después de ser
utilizado para otro fin.
|
|
|
|
|
|
|