|
CarlosPes.com
> Curso
de Lenguaje C
> Operadores de Asignación
en Lenguaje C |
|
Operadores de
Asignación en
Lenguaje C
|
|
|
|
|
¿Qué
tipos de operadores de asignación existen en C?
|
|
En
lenguaje C existen expresiones de asignación
y, para
escribirlas, se utilizan los siguientes operadores de
asignación: |
|
|
|
Figura - Clasificación de
los operadores de asignación en C. |
|
De
ellos, el más utilizado es el operador de
asignación (=). Su funcionalidad es equiparable a la
de una instrucción de asignación en
psedocódigo, y su sintaxis es muy similar. |
|
<nombre_de_la_variable>
= <expresión>; |
|
|
Existen
dos diferencias:
1. En vez del símbolo reservado flecha izquierda
(←), se utiliza el carácter
igual (=).
2. Se debe escribir un punto y coma (;) al final.
Ejemplo 1: Partiendo de la constante
simbólica
#define PI 3.141592
y de las variables
float area, longitud, radio;
una instrucción de asignación puede ser:
radio = 5.78;
Técnicamente, en lenguaje C, una asignación (=)
es una operación, al igual que lo es una suma (+) o una
resta (-). En consecuencia, radio = 5.78 es una expresión de
asignación, que entra dentro de la categoría de
las instrucciones de expresión. |
|
<instrucción_de_expresión>; |
|
|
De
la evaluación de una expresión de
asignación siempre se obtiene el mismo valor que el asignado
a la variable, en este caso, 5.78.
Si ahora escribimos:
area = PI * pow( radio, 2 );
longitud = 2 * PI * radio;
De la evaluación de estas instrucciones de
expresión se obtienen los valores 57.046290 y 36.316804, los
cuales coinciden con los valores asignados a las variables area y longitud, respectivamente.
Cuando el operador de asignación (=) se escribe precedido de
un operador aritmético: suma (+), resta (-),
multiplicación (*), división (/) o
módulo (%), la unión de ambos se
convierte en un
nuevo operador de asignación que opera de la siguiente
manera:
"A la variable se le asigna el valor que se obtiene de evaluar
<variable>
<operador_aritmético>
<expresión>."
Ejemplo 2: Dada la siguiente
declaración de variables:
int m = 4, n = 1; |
|
|
|
se
puede escribir la instrucción de expresión
m += 3;
que es equivalente a la instrucción
m = m + 3;
En la memoria, cambiará el valor almacenado en el espacio
representado por la variable m.
|
|
|
|
Si,
a continuación, se ejecuta la instrucción
m *= n += 2;
ahora, los valores de las variables m y n son: |
|
|
|
Primero,
se evalúa la expresión n += 2 (equivalente a n = n + 2). Esto produce que a la variable n se le asigne un 3. En segundo
lugar, se evalúa la expresión m *= 3 (equivalente
a m = m * 3), asignándosele a la
variable m el valor 21. |
|