다음 C 프로그램에 대한 설명 중 옳지 않은 것은?
(1) int *x, *y, *z;(2) x = (int *) malloc(sizeof(int));(3) *x = 1;(4) z = (int *) malloc(sizeof(int));(5) *z = 5;(6) y = x;(7) *y = 2;(8) z = y;(9) free(x);
- ①문장 (6)이 수행된 이후에 *x와 *y의 별명(alias) 현상이 발생한다.
- ②문장 (8)이 수행된 이후에 *x와 *y의 별명(alias) 현상은 종료된다.
- ③문장 (8)이 수행된 이후에 문장 (4)에서 할당된 기억장소는 쓰레기(garbage)가 된다.
- ④문장 (9)가 수행된 이후에 허상 포인터(dangling pointer)가 발생한다.
선지를 골라 바로 채점해 보세요.
정답 ②
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)