스칼라(scalar) 변수는 기억장소 바인딩과 존속기간에 따라 정적(static), 스택-동적(stack-dynamic), 명시적 힙-동적(explicit heap-dynamic), 묵시적 힙-동적(implicit heap-dynamic)으로 구분할 수 있다. 이들에 대한 설명으로 옳지 않은 것은?
- ①정적 변수는 실행 전에 기억장소에 바인딩이 이루어지고 이것이 프로그램 실행 끝까지 유지되는 변수이다.
- ②스택-동적 변수는 그 변수가 선언된 함수가 호출될 때 바인딩이 이루어지며, 과거 민감(history sensitive) 변수이다. 예로는 C++ 함수의 내부에서 선언된 변수가 있다.
- ③명시적 힙-동적 변수는 프로그래머에 의해서 명세되는 명시적 실행 시간 명령어에 의해서 할당되는 이름 없는 메모리 셀이다. 주로 포인터를 사용하여 참조되며 C++ 에서는 new 연산자를 사용하여 할당될 수 있다.
- ④묵시적 힙-동적 변수는 배정문(assignment statement)형식으로 값이 변수에 배정될 때 힙 기억장소에 바인딩되며 JavaScript와 같은 언어에서 사용된다.
선지를 골라 바로 채점해 보세요.
정답 ②
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)