자료구조 구현 (2장)

Andy·2022년 1월 2일
0

자료구조

목록 보기
2/14
post-thumbnail

배열은 자료형이 같은 자료를 나열하여 메모리에 연속으로 저장하여 만든 자료 그룹 입니다.

1차원 배열의 선언과 초기화

자료형 배열이름 [배열요소의 개수]
자료형 배열이름 [배열크기] = {초기값 리스트}

다차원 배열의 선언과 초기회

자료형 배열이름 [배열크기] [배열크기] [배열크기]
예) int i[2][3] = {{1,2,3},{4,5,6}} 또는 int i[][3] = {1,2,3,4,5,6};

포인터란 사용하는 모든 변수는 메모리의 특정 위치에 저장되는데 그 위치를 나타내는 메모리 주소를 뜻합니다.

포인터 선언

자료형 *포인터이름;

포인터 연산에서는 크게 주소 연산자참조 연산자 로 나뉘어 볼 수 있습니다.

포인터 = &변수; -> 주소 연산자(&)
*포인터 = 값;
변수 = *포인터; -> 참조 연산자(*)

구조체란 배열처럼 여러 데이터를 그룹으로 묶어 하나의 자료형으로 정의하고 사용하는 자료형입니다. 다만 배열은 자료형이 같을 때만 그룹으로 묶을 수 있지만, 구조체는 서로 다른 자료형도 그룹으로 묶을 수 있어 복잡한 자료 형태를 정의할 때 유용하게 쓸 수 있습니다.

구조체 선언

struct 구조체형이름{
 자료형 항목1;
 자료형 항목2;
 ...
 자료형 항목n;

데이터 항목의 참조

점 연산자(.) 구조체 변수의 데이터 항목을 지정한다.
화살표 연산자(->) 구조체형 포인터에서 포인터가 가리키는 구조체 변수의 데이터 항목을 지정한다.
예.) Lee.name ="Ann";
     Sptr->name ="susan";     

재귀호출 이란 함수가 자기 자신을 호출하여 순환하여 수행되는 것으로 순환 호출 또는 recursion 이라고 합니다.

재귀호출 선언

n! = n x (n-1)!
(n-1)! = (n-1) x (n-2)!
(n-2)! = (n-2) x (n-3)!
...
2! = 2 x 1!
1! = 1 (베이스케이스)
profile
열정으로 가득 찬 개발자 꿈나무 입니다

0개의 댓글