You are on page 1of 2

정다솔 강사

id235761@gmail.com

메일 제목 : 방특 자료구조 홍길동
메일 내용 : 소스코드 첨부, 텍스트로 붙여넣기
오류내용캡처

강사 자료 공유
www.koreastudyroom.com
코리아 it 아카데미 > 강남지점 > 핸드폰 번호로 로그인 > 강의 선택

오픈 채팅방 (공지 및 qna 방 )


이름 : 0810 방특 C 자료구조
참여코드 : 1530C2

=----------------------------------------------------------------------------------
---------------------------=
배열
같은 자료형의 여러 변수를 나열해 놓은 것
배열명 변수는 실제 값들이 담겨있는 공간들의 첫 주소값을 담는다.
배열명 변수는 각 주소로 이동하기 위한 시작점 역할

int arData[5]= {10, 20 , 30, 40, 50};

포인터
포인터변수는 주소값을 담는 변수이다.

자료형* 포인터변수명 = 실제위치의주소값;

*&은 상쇄된다

다른 함수에서 공간을 직접 건드려야 할 때에는 공간을 넘겨준다는 의미로 주소값을


넘겨야 하고 그 때 포인터 변수로 받아준다.

동적할당 은 우리가 직접 공간을 만드는 것이 아니고 컴퓨터가 할당한 후 주소값을 넘겨준다.

함수
이름 뒤에 소괄호
매개변수 내부에서 필요한 값의 개수만큼 선언해주고 사용할 때에는 매개변수의 개수만큼
값을 넘겨주어야 한다.

return 뒤에 값이 있다면 함수 사용부를 통째로 그 값으로 봐야한다.

구조체

추상적인 개념을 구체화 시켜서 공통요소로 구조화 시켜놓은 것


반복되는 공통 요소들을 쉽게 관리하기 위해서
붕어빵 틀

struct 구조체명{
변수선언
. . .
};

typedef struct 구조체명{


변수 선언
. . .
}별칭;

구체화시킨 구조체 변수는 각각 구조체의 요소들을 그대로 가지고 있으며


구조체는 그 변수의 타입이다. (구조체변수 : 붕어빵)

동적 할당
활용할 공간의 크기를 미리 정하지 않고 때에 따라서 동적으로 만드는방법
int arData[num];

<stdlib.h> 헤더파일 이용
우리가 실제로 활용할 공간은 함수를 이용해서 할당받아야 하고, 컴퓨터가
Heap 영역에 자동으로 할당해준다. 할당된 후 그 확보된 공간의 주소값을 돌려주며
우리는 그걸 포인터 변수에 담아놓고 사용할 수 있다.

malloc
malloc(바이트크기);
int* p = (int*) malloc(20); //20 바이트 찾아왔을때 int 가 있는 공간

calloc
할당된 공간은 전부다 0 으로 초기화 해준다.
calloc(개수, 방한개의크기)
int* p = (int*)calloc(5,4);

realloc
realloc(할당된 포인터, 할당할 크기);

p = (int*)realloc(p,24);

free
free(주소값);

해당 주소에 있는 메모리를 제거(할당을 해제)한다.

You might also like