본문 바로가기

컴퓨터

C 실행 파일의 생성 순서 프로그램 작성 → 전처리(Preprocess) → 컴파일(Compile) → 링크(Link) → 실행파일 생성
C dynamic Allocation 메모리 동적 할당 I. 할당 1. malloc #include void* malloc(size_t size) //size_t size: 할당하고자 하는 메모리의 크기. 바이트 단위 성공 시 할당된 메모리의 첫 번째 주소 리턴, 실패 시 NULL 포인터 리턴 2. calloc #include void* calloc(size_t elt_count, size_t elt_size) /* size_t elt_count: 변수의 개수 size_t elt_size: 변수의 크기 */ 성공 시 할당받은 메모리의 포인터(void* 형), 실패 시 NULL 리턴 elt_size 크기의 변수를 elt_count개만큼 저장할 수 있는 메모리 공간을 힙 영역에 할당한다. II. 해제 #include void free(void* ptr) 전달된 ..
C 메모리 I. 데이터 영역 변수 영역 할당 소멸 전역변수 Static 변수 데이터 영역 Data Area 프로그램 시작 프로그램 종료 프로그래머 할당 힙 영역 Heap Area ↓ 지역변수 매개변수 ↑ 스택 영역 Stack Area 함수 호출 함수 호출 완료 II. 컴파일 과정 과정 메모리 공간 확보 값 할당 1. 컴파일 타임 Compile-time 데이터 영역 없음 스택 영역 2. 런 타임 Run-time 힙 영역 데이터 영역 스택 영역 힙 영역
C fopen, fclose 파일의 개방과 종료 I. 파일 개방 모드 파일 개방 모드 = 파일 접근 모드 + 데이터 입·출력 모드 1. 파일 접근 모드 모드 의미 r 파일을 읽기 위해서 개방한다. 오로지 읽는 것만 가능하다. w 데이터를 쓰기 위해 개방한다. 오로지 쓰는 것만 가능하다. 만약에 fopen 함수 호출 시 지정해 준 파일이 존재하지 않으면, 새로운 파일을 생성해서 데이터를 쓰게 된다. 지정해 준 파일이 존재하면, 그 파일의 데이터를 지워버리고 데이터를 쓰게 된다. a w모드와 달리, 지정해 준 파일이 존재하면 데이터를 지우지 않고 파일의 끝에서부터 데이터를 추가한다. 나머지 특징은 w 모드와 같다. r+ 파일을 읽고 쓰기 위해 개방한다. 파일이 존재하지 않는 경우, 새로운 파일을 생성한다. 파일이 존재하는 경우, 파일의 데이터를 지우지는 ..
C 열거형 I. 필요성 열거형을 사용함으로써 변수가 지니는 값에 의미를 부여할 수 있고 이에 따라서 프로그램의 가독성이 높아진다. II. 사용법 #include enum color {RED=1, GREEN=3, BLUE=5}; int main() { enum color c1=RED; enum color c2=GREEN; enum color c3=BLUE; printf("%d, %d, %d\n", c1, c2, c3); printf("%d, %d, %d\n", RED, GREEN, BLUE); return 0; }