[C] 씹어먹는 C 언어 - <9. switch 문 >

Kim Dongil·2022년 10월 17일
0

C

목록 보기
13/28

1. switch 문의 '값' 부분에 왜 정수만 와야 되는지 아십니까?(난이도 : 中上)

jump table 은 프로그램 초기에 작성 되기 때문에 이미 switch 문이 실행되기 전에 jump table 이 작성되게 됩니다. 따라서, '값' 부분에 변수가 들어가게 되면 jump table 에 무엇이 올지 알 수 없으므로 변수를 사용하면 안되는 것입니다.

2. 앞서, switch 문이 내부적으로 처리 되는 부분에서 case 1: ~ case 10: 일 때 만 생각하였는데, 만약 case 1:, case 3:, case 4:, case 10: 과 같이 불규칙 적으로 switch 문이 적용된다면 컴퓨터는 jump table 를 어떻게 작성할까요 (난이도 : 最上)

만약 case 1, case 2, case 3, case 100이런 식으로 switch문을 작성한다면 iump table의 크기가 100이 됩니다. 그래서 case '값'을 순차적으로 작성하여야 메모리적인 측면에서 효율적입니다.

씹어먹는 C 언어 - <9. 만약에... 2탄 (switch 문)>
성능-메모리 관점 차이

0개의 댓글

관련 채용 정보