[C] 다형성(Polymorphism) 구현하기

개요 객체지향 패러다임에서 다형성을 정의하는 법도 여러가지겠지요. 위키백과에서는 프로그램 언어의 각 요소들이 다양한 자료형(type)에 속하는 것이 허가되는 성질을 가리킨다고 되어있습니다. 모두 아시다시피, C에서는 객체지향의 패러다임을 언어 차원에서 설계를 해놓지 않았으므로 그러한 개념을 구현하기가 굉장히 까다롭습니다. 이론적인 부분을 크게 다루지는 않을 것이므로, 간단하게 정의하는 것으로 시작하겠습니다. 이 글에서 다형성을 구현한다는 의미는, 소스코드 상에서 동일한 함수 호출이 […]

[C] 간단한 파서 (Parser) 직접 만들기 (작성중)

극한의 환경이라고도 알려져 있는 C, 여기서 우리는 간단한 파싱 작업을 할 수 있는 프로그램을 만들고자 합니다. 목표 우리의 목표는 간단한 파서(Parser)를 만드는 것입니다. 다음 파일을 규칙에 맞게 잘 읽어들이는 것입니다. 본 파일은 어떤 그래픽 렌더링 프로그램에 전달할 입력 파일입니다. 이 파일은 렌더링 프로그램의 각종 설정과 렌더링할 도형을 정의합니다. 정의하는 방법은 다음과 같이 정의되어 있습니다. 지시자 […]

C언어로 빠른 삼중 분할 퀵 정렬 구현하기

개요 Algorithms 4th edition (로버트 세지윅, 케빈 웨인 지음 | 권오인 옮김 | 길벗) 에서 소개된, 벤틀리(J. Bentley)와 세지윅(R. Sedgewick)이 고안한 빠른 삼중 분할 퀵 정렬 (연습문제 2.3.22) 을 직접 풀어보고자 함. 선 전체 코드 다만, 본 코드로는 직접 실행시키지 못한다. 커다란 데이터 파일을 읽고 실제 출력까지 어떻게 되는지 보기를 원한다면 프로젝트를 직접 실행해보도록 한다. […]

Scroll to top