[C] malloc-lab 구현 (Implicit, Explicit, Segregated)
·
C언어
동적 메모리 할당기를 만드는 이유? - 동적 메모리 할당을 하지 않는다면, 배열을 정해진 최대 배열 크기를 갖는 정적 배열로 정의할 것이다. 작은 프로그램에서는 이 방법이 크게 문제가 되지 않을 수 있지만 코드 길이가 길어질수록 사용자가 많은 규모의 소프트웨어라면 정적배열 선언은 관리가 어려워집니다. - 이 어려움을 해결하기위해 런타임시 메모리에 데이터를 동적으로 할당해야 합니다. 할당기에는 아래와 같이 크게 2종류가 있습니다. 명시적 할당기(Explicit Allocator) : 명시적 할당기는 프로그래머가 직접 메모리를 할당하고 해제하는 방식을 의미합니다. 프로그래머는 메모리를 동적으로 할당하기 위해 할당하는 함수(malloc) 해제하는 함수(free)를 호출해야 합니다. 묵시적 할당기(Implici..
[C] 동적 메모리 할당(malloc, calloc, realloc)
·
C언어
1.동적 메모리 할당이란? - 프로세스는 더 큰 메모리를 할당해서 사용할 수 있도록 힙(Heap)영역을 제공한다. - 힙영역은 지역변수와 매개변수등을 저장하는 스택(Stack)영역과 달리 실행시점에 원하는 크기만큼 메모리를 할당할 수 있습니다. - 메모리 사용이 끝나면 언제든지 할당한 메모리 공간을 해제할 수 있습니다. 1.1 malloc - 힙은 스택처럼 관리되는 공간이 아니라서 변수를 선언하는 행위로 메모리를 할당할 수 없습니다. 그렇기 때문에 C 표준 함수인 malloc과 free를 통해서 메모리 할당 및 해제 해야합니다. - 함수 원형 void *malloc(size_t size); /* size_t는 unsigned int와 같음 */ - void*를 사용하면 형 변환을 해야하는 불편함이 있기 ..
[C] Linux/gcc 사용법 , vi 에디터 명령어
·
C언어
💡gcc 컴파일 및 사용법 1️⃣ 파일 생성 및 편집방법 - nano : nano hello.c - vim : vim hello.c ⚠️ vim, nano 가 설치안되있을 경우 sudo apt-get install vim(nano)를 사용해서 설치하시면 됩니다. 2️⃣ 텍스트 편집기에서 'hello.c' 파일의 내용을 작성합니다. 📚알아두기 - 편집기 명령어 i, a -> 문자열을 커서 이전에 삽입, 커서 이후에 삽입 :x -> 파일 저장 후 종료 :wq -> 파일 저장 후 종료 :w -> 파일 저장 q -> 파일 종료 위의 명령어 말고도 다양한 명령어가 존재하므로 아래 블로그 참고하시기 바랍니다. https://harryp.tistory.com/10 [Ubuntu] Vi / Vim 에디터 명령어 안녕하..
yunchan^.^
'C언어' 카테고리의 글 목록