malloc lab-implicit list에 관하여 + 구현
·
Develop
묵시적 할당리스트malloc을 구현함에 있어가장 중요한 부분은 할당가능부분 을 찾는 것이다.해서 효율적인 할당리스트들은 자유블록안에 포인터가 구성되어있고, 이를 위한 자료구조가 필요하다고 한다.그럼 묵시적 할당리스트는 무엇이냐 하면 블록내의 포인터는 존재하지 않고헤더로만 할당할수 있는 블록인지 아닌지를 판별하는 할당리스트이다.(이름 이해하기가 까다로웠다..)그 원리가 무엇이냐면블록크기는 워드크기(32비트의 경우 4바이트, 64비트면 8바이트)의 두배로 잡았다고 가정하면, 항상 8의 배수의 블록크기만 갖는다고 할 수 있다.이 점에서 8의 배수라면 마지막 3비트는 사용하지않는다. 이점을 활용하여가장 끝 3비트를 활용할 기회가 생기고 자유영역을 확인하는 비트로 사용한다.그래서 처음 4바이트, 끝 4바이트는 항..
[C언어] 포인터, 주소, malloc.. 등등
·
Develop
크래프톤 정글 5~8주차 탐험준비c는 참 멋있는 언어다. 정글에선 c언어를 f1 레이싱카로 비유한다."C언어는 F1 레이스 카와 비슷하다. 그 무엇보다도 빠르고 성능 좋지만, 아무나 운전할 수 없고, 아무나 운전하도록 두어서도 안된다."지금까지 배워왔던 알고리즘을 C로 구현하는 한주가 되고, malloc, RB-tree, 웹서버 구현등을 해야한다불편하고 빠르게 달려보자1. 포인터란?*를 사용해 해당 주소의 값을 읽는 c언어의 연산자이다.포인터를 왜 사용하는가에 대해서는여러가지가 존재하지만 이해하기 쉬운 예를 하나 들자면c언어에서는 값에 의한 참조와 주소에 의한 참조가 존재한다.#include void increment(int num) { num++; printf("함수 내 num: %d\n",..