Lo que sigue es la lista de operadores de C, ordenados según su prioridad. En caso de que una expresión contenga más de un operador de igual prioridad, la evaluación se realizará según el orden que se indica en la columna central. Por ejemplo, si se encuentran dos operadores de desplazamiento (>> y <<), la evaluación se hará de izquierda a derecha. Pero si se encuentran dos operadores de suma con asignación (
+=
), entonces la evaluación se realizará de derecha a izquierda (se evalúa primero la expresión situada más a la derecha). Grupo de operadores | Orden de evaluación | Comentarios |
---|---|---|
() [] -> . | de izquierda a derecha | Este es el grupo de operadores con mayor prioridad. |
! ~ ++ -- + - (tipo) * & sizeof | de derecha a izquierda | La refundición de tipos y sizeof son operadores unarios. |
* / % | de izquierda a derecha | El símbolo "%" denota el operador módulo, que produce el resto entero obtenido al dividir el primer operando por el segundo. |
+ - | de izquierda a derecha | Los operadores aditivos tienen menor prioridad que los multiplicativos. |
<< >> | de izquierda a derecha | Estos son los operadores de desplazamiento bit a bit (q.v.) |
< <= > >= | de izquierda a derecha | |
== != | de izquierda a derecha | |
& | de izquierda a derecha | Este operador y los dos siguientes realizan operaciones lógicas bit a bit, considerando bits individuales de sus operandos. |
^ | de izquierda a derecha | |
| | de izquierda a derecha | |
&& | de izquierda a derecha | Este operador y el siguiente producen resultados lógicos, pero no consideran bits individuales sino el valor global del operando. |
|| | de izquierda a derecha | |
?: | de derecha a izquierda | |
= += -= *= /= %= &= ^= |= <<= >>= | de derecha a izquierda | |
, | de izquierda a derecha | Este es el operador de menor prioridad en C. Sirve para separar una colección de expresiones, que se irán evaluando de izquierda a derecha. El resultado es el producido por la expresión situada en último lugar (más a la derecha), y tiene por tanto el tipo y valor de esta última expresión. Se emplea a veces en expresiones de control; un ejemplo sería la cláusula de iniciación de un for o la cláusula de mantenimiento de iteración de un while . |
No hay comentarios:
Publicar un comentario