괄호를 사용한 식Expressions in Parentheses

괄호 안에 포함된 식의 형식이나 값을 변경하지 않고 임의의 피연산자를 괄호로 묶을 수 있습니다.You can enclose any operand in parentheses without changing the type or value of the enclosed expression. 예를 들어 다음 식에서For example, in the expression:

( 10 + 5 ) / 5  

10 + 5 주위의 괄호는 10 + 5 값이 먼저 계산되어 나누기 연산자(/)의 왼쪽 피연산자가 된다는 의미입니다.the parentheses around 10 + 5 mean that the value of 10 + 5 is evaluated first and it becomes the left operand of the division (/) operator. ( 10 + 5 ) / 5의 결과는 3입니다.The result of ( 10 + 5 ) / 5 is 3. 괄호가 없으면 10 + 5 / 5는 11로 계산됩니다.Without the parentheses, 10 + 5 / 5 would evaluate to 11.

괄호는 피연산자가 식에서 그룹화되는 방식에 영향을 주지만 모든 경우에 계산의 특정 순서를 보장할 수 있는 것은 아닙니다.Although parentheses affect the way operands are grouped in an expression, they cannot guarantee a particular order of evaluation in all cases. 예를 들어 다음 식의 괄호와 왼쪽-오른쪽 그룹화는 하위 식 중 하나에서 사용될 i의 값을 보장하지 않습니다.For example, neither the parentheses nor the left-to-right grouping of the following expression guarantees what the value of i will be in either of the subexpressions:

( i++ +1 ) * ( 2 + i )  

컴파일러는 순서에 상관없이 곱하기의 양쪽을 계산할 수 있습니다.The compiler is free to evaluate the two sides of the multiplication in any order. i의 초기 값이 0인 경우 전체 식은 다음 두 문 중 하나로 계산될 수 있습니다.If the initial value of i is zero, the whole expression could be evaluated as either of these two statements:

( 0 + 1 + 1 ) * ( 2 + 1 )   
( 0 + 1 + 1 ) * ( 2 + 0 )  

의도하지 않은 결과로 발생한 예외는 파생 작업에 설명되어 있습니다.Exceptions resulting from side effects are discussed in Side Effects.

참고 항목See Also

C 기본 식C Primary Expressions