본문 바로가기

Today I Learned

21/09/20

모두를 위한 컴퓨터 과학 (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

 

 

 

 

'Today I Learned' 카테고리의 다른 글

21/09/22  (0) 2021.09.22
21/09/21  (0) 2021.09.21
21/09/19  (0) 2021.09.19
21/09/18  (0) 2021.09.18
21/09/16  (0) 2021.09.16