기타 연산자

기타 연산자 요약

복합 대입, 조건 연산자, sizeof, &, *, 콤마 연산자는 문법이 짧은 만큼 어떤 값을 읽고 바꾸는지 분명히 해야 합니다.

값을 바꾸나복합 대입, 간접 참조 대입은 저장소를 바꾼다.
값만 고르나삼항은 두 식 중 하나를 선택한다.
크기를 묻나sizeof는 실행보다 타입/객체 크기 확인이다.
문맥이 바꾸나&와 *는 선언문과 표현식에서 의미가 갈린다.
x += nread x -> calculate -> write x
ok ? a : bcondition -> one value
sizeof(T)compile-time size clue
&objaddress of object
*ptrread/write pointed value
복합 대입

계산과 저장을 합침

x += n은 x를 한 번 기준으로 읽고 계산 결과를 다시 저장합니다.

x += 3
삼항

두 값 중 하나 선택

조건에 따라 값 하나만 고를 때 쓰며, 중첩 분기는 if 문이 경로를 더 잘 드러냅니다.

ok ? a : b
sizeof

타입이나 객체 크기 확인

배열 크기 계산에 쓰이지만 포인터로 바뀐 뒤에는 전체 배열 크기를 알 수 없습니다.

sizeof(arr)
주소와 참조

메모리 위치를 다룸

&는 주소를 얻고 *는 포인터가 가리키는 값을 읽거나 씁니다.

*ptr = 10
부작용복합 대입과 간접 참조는 실제 저장된 값을 바꾸는지 확인합니다.
간결성삼항 연산자는 한눈에 읽히는 값 선택에만 사용합니다.
문맥같은 기호라도 선언문과 표현식에서 역할이 달라질 수 있습니다.