목차
1 산술 연산자
2 할당 연산자
3 증가 연산자와 감소 연산자
4 컴마 연산자
2 할당 연산자
3 증가 연산자와 감소 연산자
4 컴마 연산자
본문내용
i+1;
hap=hap+(k*i);
가 되지만, 후치의 경우는 그렇지 않다. hap+=k*i++ --> hap=hap+(k*i);
i=i+1;
그러면, k=i+++j;를 k=(i++)+j;로 볼 것인가 k=i+(++j);로 볼 것인가 하는 우선 순위에 대한 의문이 따르게 된다. 다음 예에서 살펴보자.
i=3, j=5
식
결과의 값
동일식
k=i++j
k=8, i=4, j=5
k=(i++)+j;
k=i++ +j
k=8, i=4, j=5
k=(i++)+j;
k=i+ ++j
k=9, i=3, j=6
k=i+(++j);
따라서, 필요한 곳에 ( )를 쓰는 것이 이해하기 좋을 것이며, 증가, 감소 연산자 ++, --나 결합 연산자 +=, *=, -=등은 C 프로그램을 간결하게 하는 목적을 지니고 있을 뿐이다.
4 컴마 연산자
컴마 연산자 , 는 중괄호 ( )속에서 여러 식을 연산할 때 쓰인다. 괄호속의 여러 식은 왼쪽에서 오른쪽으로 평가되고, 전체식은 최종적으로 평가된 식의 값을 갖게 된다.
예를 들어, j= (i=3, i=i+4);는 i=3;
i=i+4; /* i=7 */
j=i; /* j=7 */
가 되어 j는 최종 값으로 7을 기억하게 된다.
hap=hap+(k*i);
가 되지만, 후치의 경우는 그렇지 않다. hap+=k*i++ --> hap=hap+(k*i);
i=i+1;
그러면, k=i+++j;를 k=(i++)+j;로 볼 것인가 k=i+(++j);로 볼 것인가 하는 우선 순위에 대한 의문이 따르게 된다. 다음 예에서 살펴보자.
i=3, j=5
식
결과의 값
동일식
k=i++j
k=8, i=4, j=5
k=(i++)+j;
k=i++ +j
k=8, i=4, j=5
k=(i++)+j;
k=i+ ++j
k=9, i=3, j=6
k=i+(++j);
따라서, 필요한 곳에 ( )를 쓰는 것이 이해하기 좋을 것이며, 증가, 감소 연산자 ++, --나 결합 연산자 +=, *=, -=등은 C 프로그램을 간결하게 하는 목적을 지니고 있을 뿐이다.
4 컴마 연산자
컴마 연산자 , 는 중괄호 ( )속에서 여러 식을 연산할 때 쓰인다. 괄호속의 여러 식은 왼쪽에서 오른쪽으로 평가되고, 전체식은 최종적으로 평가된 식의 값을 갖게 된다.
예를 들어, j= (i=3, i=i+4);는 i=3;
i=i+4; /* i=7 */
j=i; /* j=7 */
가 되어 j는 최종 값으로 7을 기억하게 된다.