2007/07/19

A Book On C Chapter 6 연습문제 4번.

i와 j는 int형이고, p와 q는 int형 포인터라면, 다음의 배정 수식 중 잘못된 것은 어느것인가?

p = &i : 장담하건데 퍼펙트한 수식이다.
p = &*&i : 장담하건데 퍼펙트한 수식이다.
i = (int)p : 또 장담하건데 퍼펙트하다. 둘 다 바이트수가 동일하니까
q = &p : int 형의 포인터의 포인터를 int 형의 포인터에 배정하는건 warning이지만 (int *)&p라면 퍼펙트할것이다.
*q = &j : int형의 포인터를 역참조한 곳에 int형의 주소값을 배정한다? int형에 int의 포인터를 배정한다는 건데 이건 warning을 만들어낸다.
i = (*&)j : (*&)은 아무런 의미가 없다. (+)j도 (-)j도 문법상 오류.
i = *&*&j : 퍼펙트
i = *p++ + *q : 퍼펙트

댓글 없음:

댓글 쓰기