C

A collection of 4 posts
Deep dive into malloc
Development

Deep dive into malloc

malloc 은 어떻게 작동하는 것일까요? malloc을 직접 만들어보면서 작성한 글입니다. 서론 메모리는 컴퓨터 시스템의 가장 핵심적인 자원 중 하나로, 이를 효과적으로 관리하는 것은 프로그램의 성능과 안정성에 결정적인 영향을 미칩니다. 메모리 관리의 중요성에 대해 대부분의 프로그래머들은 인지하고 있지만, 그 뒤에 숨겨진 복잡한 메커니즘들을 완전히 이해하는 것은 쉬운 일이 아닙니다. 이 글을
42 min read
포인터란 무엇인가
C

포인터란 무엇인가

글에 들어가기에 앞서, 이 글을 요약하면 다음과 같습니다. * "포인터는 메모리의 주소를 담는 변수이다" * 포인터의 자료형은 **“해당 메모리 주소부터 어디까지를 하나의 자료로 볼 것인가”**를 결정한다. * * 연산자는 해당 포인터가 가리키고 있는 자료의 값을 내뱉어준다. 해당 글은 포인터를 사용하는 방법보다는, 포인터가 무엇을 저장하고 어떻게 작동하는 지에 대해서 중점적으로 설명하는 글입니다.
10 min read
컴퓨터에서 실수 표현하기
Development

컴퓨터에서 실수 표현하기

컴퓨터는 메모리에 0과 1을 이용한 2진수로 정보를 저장한다. 정수의 경우 단순히 2진수로 정확히 표현할 수 있지만, 실수는 그렇지 않다. 컴퓨터에서 실수를 표현하기 위해 메모리에 어떻게 저장하며, 그에 대한 두 가지 방법 부동 소수점과 고정 소수점을 살펴보도록하자. 부동 소수점 IEEE 754 32bits 부동 소수점에 대한 표준 부동 소수점에 대한 표준은 IEEE
10 min read
가변인자는 무엇이며 어떻게 구성되어 있는가
Development

가변인자는 무엇이며 어떻게 구성되어 있는가

C 의 printf 를 사용하면서 어떻게 이 함수는 여러 인자를 받을 수 있는지 궁금한 것이 있지 않은가? 이번 글에서는 C 에서 다중 인자를 받도록 하는 va_arg 를 설명한다. 가변인자 * 함수에서 타입과 개수가 정해지지 않은 여러개의 인자를 받고 싶을 경우가 있다. (printf에서 여러개의 인자를 받는 것이 대표적인 예시) 이를 지원하기
5 min read