Definicion de parentesis superfluo

Respuestas

Respuesta dada por: Jamin
0

6. OPERADORES DE ASIGNACION 
En principio puede resultar algo futil gastar papel en describir al operador IGUAL A ( = ) , sin embargo es necesario remarcar ciertas características del mismo . 
Anteriormente definimos a una asignación como la copia del resultado de una expresión ( rvalue ) sobre otra ( lvalue ) , esto implica que dicho lvalue debe tener LUGAR (es decir poseer una posición de memoria ) para alojar dicho valor . 
Es por lo tanto válido escribir

a = 17 ;

pero no es aceptado , en cambio

17 = a ;      /* incorrecto */

ya que la constante numérica 17 no posee una ubicación de memoria donde alojar al valor de a . 
Aunque parezca un poco extraño al principio las asignaciones , al igual que las otras operaciones , dan un resultado que puede asignarse a su vez a otra expresión . 
De la misma forma que (a + b) es evaluada y su resultado puedo copiarlo en otra variable : c = (a + b) ; una asignación (a = b) da como resultado el valor de b , por lo que es lícito escribir

c = ( a = b ) ;

Debido a que las asignaciones se evalúan de derecha a izquierda , los paréntesis son superfluos , y podrá escribirse entonces :

c = a = b = 17 ;     Ojala te sea de ayuda ñ_ñ  
Preguntas similares