본문 바로가기

전체 글

(54)
(자료구조) 배열 1. 배열이란? - 데이터를 나열하고 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조 - 같은 종류의 데이터를 순차적으로 저장 2. 배열의 읽기 - 배열에서 읽기는 딱 한단계다. 특정 인덱스를 통해 한 번에 접근 가능하기 때문이다. - 컴퓨터의 메모리는 셀로 구성된 거대한 컬렉션이라 할 수 있다. 프로그램에서 배열을 선언하면 컴퓨터는 프로그램이 쓸 수 있는 연속된 빈 셀들의 집합을 할당한다. 컴퓨터 메모리 내에 각 셀에는 특정 주소가 있다. 각 셀의 메모리는 앞 셀의 주소에서 1씩 증가한다. - 컴퓨터가 배열의 특정 인덱스에 있는 값을 읽을 때 한 번의 단계로 바로 갈 수 있는 것은 아래와 같은 점들이 복합적으로 작용한다. 컴퓨터는 모든 메모리 주소에 한 번에 갈 수 있다. 각 배열에 저장된 내용은 ..
(C언어) 2. 동적 메모리 할당 1. 동적 메모리 할당의 개념 1) 일반적으로 C언어에서 배열의 경우 사전에 적절한 크기만큼 할당해줘야 함 2) 우리가 원하는 만큼만 메모리 할당하여 사용하고자 한다면 동적 메모리 할당을 사용 3) 동적이라는 말의 의미는 '프로그램 실행 도중에' 라는 의미 2. 동적 메모리 할당 함수 1) C언어에서는 malloc() 함수를 이용해 원하는 만큼의 메모리 공간을 확보 가능 2) malloc() 함수는 메모리 할당 성공하면 주소 반환 하고, 실패하면 null 반환 3) 동적 메모리 할당을 수행할 때 마다 할당되는 포인터의 주소는 변칙적 4) 동적으로 할당된 변수는 힙영역에 저장 5) 전통적인 C언어에서는 스택에 선언된 변수는 따로 메모리 해제를 안해줘도 된다 6) 반면 동적으로 할당된 변수는 반드시 free..
(C언어)1. 컴퓨터가 변수를 처리하는 법 컴퓨터가 변수를 처리하는 방법 1. 프로그램 메모리 주소 1) 컴퓨터에서 프로그램이 실행되기 위해서는 프로그램이 메모리에 적재되어야 함 2) 당연히 프로그램의 크기를 충당할 수 있을 만큼의 메모리 공간이 있어야 함 3) 특정한 프로그램을 실행하게 되면 그 프로그램이 메모리에 적재되어 돌아가게 됨 4) 일반적인 컴퓨터의 운영체제는 메모리 공간을 네 가지로 구분하여 관리함 2. 전역 변수 1) 전역 변수란 프로그램 어디서든 접근 가능한 변수이다. 2) 프로그램 시작과 동시에 메모리(데이터 영역)에 할당 된다. 3. 지역 변수 1) 지역 변수란 프로그램의 특정한 블록에서만 접근 가능한 변수 2) 함수가 실행될 때 마다 메모리(스택 영역)에 할당되어 함수가 종료되면 메모리에서 해제 4. 정적 변수 1) 정적 변..