모두를 위한 컴퓨터 과학 (CS50 2019) - 메모리
6) 메모리 할당과 해제
- malloc : 메모리 할당 함수
- free : 메모리 반환 함수
- valgrind : 코드 상의 메모리 누수를 확인할 수 있는 프로그램
💬 제한된 메모리를 가지고 메모리를 해제하지 않으면 메모리 부족하게 된다.
7) 메모리 교환, 스택, 힙
추상적으로 나타낸 컴퓨터 메모리의 공간 할당
💬 메모리 영역을 다양하게 나누는 이유는 제한된 공간을 효율적으로 활용하기 위한 것이다. 영역을 나눠놔야 상황에 맞게 접근하기 쉬울 것 같다.
8) 파일 쓰기
- stack overflow
- heap overflow
- 배열 : 메모리가 연속적으로 할당된 공간
- 문자열 : 문자가 연속적으로 있음.
💬 cs50.h 라이브러리 보조바퀴 떼기
long l;
get_long => scanf("%l", &l);
float f;
get_float => scanf("%f", &f);
char c;
get_char => scanf("%c", &c);
9) 파일 읽기
💬 JPEG 파일의 바이트는 항상 0xFF, 0xD8, 0xFF 로 시작한다.
이와 같이 다른 파일들도 약속된 형식을 가지는데, 이를 파일 시그니처라고 한다.
https://en.wikipedia.org/wiki/List_of_file_signatures