배열

· Major/C&C++
1. 스택 - 선입 후출 구조 - 맨 처음에 들어간 원소를 top라고 지정한다. 1) 배열 ⓐ 구조체 선언 #define SIZE 1000 typedef struct { int key; // 다른필드 }element; element stack[SIZE]; ⓑ push int top = 0; void push(int* top_ptr, element item) { if (*top_ptr >= SIZE) { printf("스택이 다 찼습니다."); } stack[(*top_ptr)++] = item; } ⓒ pop void pop(int* top_ptr) { if (*top_ptr == 0) { printf("스택이 비어있습니다."); } stack[(*top_ptr)--]; } * push와 pop 모두 매..
· Major/C&C++
1. 동적 메모리 할당 - 일반적인 배열은 크기가 고정되어있다. - 이러한 고정된 크기 때문에 배열이 남을 수도, 부족할 수도 있다. - 일반적인 배열의 단점을 보완한 것이 '동적 메모리 할당' 이다. 1) 의미 : 메모리를 운영체제로부터 할당받아서 사용하고, 사용이 끝나면 반납하는 기능 - 동적 메모리가 할당되는 공간을 히프(heap)라고 한다. * 히프는 운영체제가 사용되지 않는 메모리 공간을 모아놓은 곳이다. 2) 선언 방법 int *p; p = (int *)malloc(sizeof(int)); //동적 메모리 할당 *p = 1000; //동적 메모리 사용 free(p); //동적 메모리 반납 - malloc() 함수는 size 바이트 만큼 메모리 블록을 할당한다. 따라서 sizeof(int) = ..
BeNI
'배열' 태그의 글 목록