더북(TheBook)

▼ 표 4-2 오브젝트 연산자. ‘형식’ 열은 연산의 구문 형태를 표현한 것이다. 여기서 @는 연산자를, o는 오브젝트를, a는 피연산자 값을 의미한다. ‘타입’ 열에서 *로 표시한 것은 해당 오브젝트 o의 주소값을 가져올 수 있다는 뜻이다.

연산자

별칭

형식

타입

결과

 

 

 

o

배열*

포인터

배열 퇴화

 

 

o

함수

포인터

함수 퇴화

 

 

o

기타

평가

=

 

o@a

배열 아닌 타입

대입

+= -= *= /=

 

o@a

산술

산술

+= -=

 

o@a

포인터

산술

%=

 

o@a

정수

산술

++ --

 

@o o@

산술 또는 포인터

산술

&=

and_eq

o@a

정수

비트

|=

or_eq

 

 

 

^=

xor_eq

 

 

 

<<= >>=

 

o@a

정수

비트

.

 

o@m

struct

오브젝트

멤버

[]

 

o[a]

배열*

오브젝트

멤버

&

 

@o

모든 타입*

포인터

주소

sizeof

 

@ o

데이터 오브젝트, 비VLA

size_t

크기, ICE

sizeof

 

@ o

VLA

size_t

크기, ICE

_Alignof

alignof

@(o)

함수 아닌 타입

size_t

정렬, ICE

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.