Espaços nominais
Variantes
Acções

C Operator Precedence

Da cppreference.com
< c‎ | language

 
 
Linguagem C
Tópicos gerais
Original:
General topics
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Preprocessor
Comentários
Palavras-chave
Tabela ASCII
Seqüências de escape
História da C
Controle de fluxo
Original:
Flow control
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Declarações execução condicional
Original:
Conditional execution statements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Instruções de iteração
Original:
Iteration statements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Ir declarações
Original:
Jump statements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Funções
Original:
Functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
declaração da função
linha especificador
Tipos
Original:
Types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Especificadores
Original:
Specifiers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
cv especificadores
armazenamento de classe especificadores
alignas especificador (C99)
Literais
Original:
Literals
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Expressões
Original:
Expressions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ordem de avaliação
operadores alternativos
operadores
precedência do operador
Utilitários
Original:
Utilities
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
typedef declaration
atributos (C99)
lança
Diversos
Original:
Miscellaneous
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Assembly embutido
 
A tabela a seguir mostra a precedência ea associatividade dos operadores C. Operadores são listados de cima para baixo, em ordem decrescente de precedência.
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.
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
Ao analisar uma expressão, um operador que está listado em alguma linha será obrigado apertado (como se por parênteses) para os seus argumentos do que qualquer operador que está listado em uma linha mais abaixo.
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.
Operadores que estão na mesma célula (pode haver várias linhas de operadores listados em uma célula) têm a mesma precedência e são agrupados em determinada direção. Por exemplo, a expressão a=b=c é analisado como a=(b=c), e não como (a=b)=c devido a direita para a esquerda associatividade. Note-se que isto não afecta a ordem de avaliação das subexpressões a, b, e 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 ordem de avaliação 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.
Original:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.