1. 동적 메모리 할당의 개념
1) 일반적으로 C언어에서 배열의 경우 사전에 적절한 크기만큼 할당해줘야 함
2) 우리가 원하는 만큼만 메모리 할당하여 사용하고자 한다면 동적 메모리 할당을 사용
3) 동적이라는 말의 의미는 '프로그램 실행 도중에' 라는 의미
2. 동적 메모리 할당 함수
1) C언어에서는 malloc() 함수를 이용해 원하는 만큼의 메모리 공간을 확보 가능
2) malloc() 함수는 메모리 할당 성공하면 주소 반환 하고, 실패하면 null 반환
3) 동적 메모리 할당을 수행할 때 마다 할당되는 포인터의 주소는 변칙적
4) 동적으로 할당된 변수는 힙영역에 저장
5) 전통적인 C언어에서는 스택에 선언된 변수는 따로 메모리 해제를 안해줘도 된다
6) 반면 동적으로 할당된 변수는 반드시 free()함수로 메모리 해제를 해줘야한다
7) 메모리 해제를 하지 않으면 메모리 내의 프로세스 무게가 더해져 언젠가는 오류가 발생
8) 메모리 누수 방지는 코어 개발자의 핵심 역량
3. 동적으로 문자열 처리
1) 일괄적인 범위의 메모리를 모두 특정한 값으로 설정하기 위해서는 memset() 사용
2) memset(포인터, 값, 크기)
3) 한 바이트씩 값을 저장하므로 문자열 처리 방식과 유사
'TIL > Computer Science' 카테고리의 다른 글
(운영체제) 사용자 모드와 커널 모드 (0) | 2022.05.26 |
---|---|
(운영체제) 시스템 콜 (0) | 2022.05.25 |
(운영체제) 시분할 시스템과 멀티 태스킹 (0) | 2022.05.25 |
(운영체제) 운영체제와 응용프로그램 (0) | 2022.05.25 |
(C언어)1. 컴퓨터가 변수를 처리하는 법 (0) | 2022.04.05 |