C Operator Precedence
De cppreference.com
![]() | Esta página se ha traducido por ordenador/computador/computadora de la versión en inglés de la Wiki usando Google Translate. La traducción puede contener errores y palabras aparatosas/incorrectas. Planea sobre el texto para ver la versión original. Puedes ayudar a corregir los errores y mejorar la traducción. Para instrucciones haz clic aquí. |
La siguiente tabla muestra la precedencia y asociatividad de los operadores de C. Los operadores se enumeran arriba a abajo, de mayor a menor precedencia .
Original:
The following table lists the precedence and associativity of C operators. Operators are listed top to bottom, in descending precedence.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Precedence | Operator | Description | Associativity |
---|---|---|---|
1 | ++ -- | Suffix/postfix increment and decrement | Left-to-right |
() | Function call | ||
[] | Array subscripting | ||
. | Structure and union member access | ||
−> | Structure and union member access through pointer | ||
(type){list} | Compound literal(C99) | ||
2 | ++ -- | Prefix increment and decrement | Right-to-left |
+ − | Unary plus and minus | ||
! ~ | Logical NOT and bitwise NOT | ||
(type) | Type cast | ||
* | Indirection (dereference) | ||
& | Address-of | ||
sizeof | Size-of | ||
_Alignof | Alignment requirement(C11) | ||
3 | * / % | Multiplication, division, and remainder | Left-to-right |
4 | + − | Addition and subtraction | |
5 | << >> | Bitwise left shift and right shift | |
6 | < <= | For relational operators < and ≤ respectively | |
> >= | For relational operators > and ≥ respectively | ||
7 | == != | For relational = and ≠ respectively | |
8 | & | Bitwise AND | |
9 | ^ | Bitwise XOR (exclusive or) | |
10 | | | Bitwise OR (inclusive or) | |
11 | && | Logical AND | |
12 | || | Logical OR | |
13 | ?: | Ternary conditional | Right-to-Left |
14 | = | Simple assignment | |
+= −= | Assignment by sum and difference | ||
*= /= %= | Assignment by product, quotient, and remainder | ||
<<= >>= | Assignment by bitwise left shift and right shift | ||
&= ^= |= | Assignment by bitwise AND, XOR, and OR | ||
15 | , | Comma | Left-to-right |
Al analizar una expresión, un operador que aparece en alguna fila será atado apretado (como si entre paréntesis) a sus argumentos que cualquier operador que aparece en una fila, más abajo .
Original:
When parsing an expression, an operator which is listed on some row will be bound tighter (as if by parentheses) to its arguments than any operator that is listed on a row further below it.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Los operadores que se encuentran en la misma celda (puede haber varias filas de los operadores registrados en una celda) tienen la misma prioridad y se agrupan en la dirección dada. Por ejemplo, la expresión a=b=c se analiza como a=(b=c), y no como (a=b)=c a causa de derecha a izquierda asociatividad. Tenga en cuenta que esto no afecta a la evaluación orden de las subexpresiones a, b, y c .
Original:
Operators that are in the same cell (there may be several rows of operators listed in a cell) have the same precedence and are grouped in the given direction. For example, the expression a=b=c is parsed as a=(b=c), and not as (a=b)=c because of right-to-left associativity. Note that this does not affect the evaluación orden of the subexpressions a, b, and c.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Original:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.