반복문 for, while, 재귀
유니티 게임 개발 뿐만 아니라, 알고리즘 테스트부터 개발 전체는 반복문의 연속으로 이루어져있다고 봐도 무방하다. 반복문에 대해 공부했던 내용을 간단히 정리해보겠다.
가장 대표적인 반복문인 for문은 ~에서 ~까지(한정되어 있음)를 의미한다.
작성 방법은 for(초깃값 설정; 조건식; 증감) {할 것} 으로 초깃값 설정 -> 조건식 -> 할것 -> 증감 -> 조건식...(반복)으로 실행 순서가 정해진다.
for문에서 보통 증감식 부분은 i++ 또는 ++i로 작성한다. 여기서 i++과 ++i 차이를 많이 헷갈려 하는데 다음과 같다.
1) i++의 경우 다음 조건식에서 결과를 볼 수 있지만 ++i는 바로 결과를 확인할 수 있다.
2) 속도가 ++i가 더 빠름, 내부적으로 i++는 더한 결과를 저장하는 임시변수를 생성해서 그 다음 조건식에 리턴해준다.
하지만 ++i는 결과값을 저장하지 않고 바로 증가시켜버란다.(한번에 가는 개념)
※ i++이나 ++i의 결과값은 어차피 같으니 어떤 방식을 써도 상관은 없으나, c++을 사용해서 방대한 데이터를 처리할 때는 최적화와 관련된 이슈가 있다고 하니 참고하면 되겠다.
추가적으로 for문을 0부터 100까지 돌리는 거보다 100에서 0까지 거꾸로 처리하는게 속도가 더 빠르다고 함
while 반복문은 ~동안으로 조건이 필요하고, 한정이 없으며, 조건 만족할 때까지 계속 돌린다.
배열은 데이터의 크기를 연속해서 잡아놓고 연속된 공간에 하나하나 집어넣는 집합이다.
여기서 배열의 방 갯수의 크기가 정할 수 있고, 각 방마다 인덱스 번호로 관리할 수 있다.
배열은 자료형[] 변수; 형태로 선언한다.
int b; -> 컴퓨터가 일단 4byte를 잡는다.
int[] a; -> 컴퓨터가 값도 모르고 사이즈도 모른다.
사이즈와 변수를 모두 선언해 주는 것을 '배열의 초기화' 라고 부른다.
int[] a = new int[3] -> 세칸짜리 사이즈를 의미한다.
int[] a = new int[3] {2, 0, 5} -> 세 칸짜리 방에 세 변수가 들어간다.
int[] a = {2, 0, 5} -> 배열의 크기를 굳이 선언하지 않고, 변수를 입력해주면 컴퓨터는 알아서 3 크기를 메모리에 할당한다.
다음 방식으로도 배열을 초기화 할 수 있다.
int[] a new int[3];
a[0] = 2;
a[1] = 0;
a[2] = 5;
다음과 같이 반복문을 활용해 배열을 초기화해 줄 수 도 있다.
for(int i = 0; i <= 100; i++)
{ a[i] = i; }
'게임 프로그래밍 > C#' 카테고리의 다른 글
C# 유니티 지역변수 & 전역변수 (0) | 2022.09.19 |
---|---|
C# 유니티 함수 오버로딩 시 디폴트 인수 값 적용과 관련하여 문법 주의사항 (0) | 2022.08.04 |
C# 비선형 자료구조 - 그래프(Graph) (0) | 2021.12.28 |
C# 비선형 자료구조 - 트리(Tree) (0) | 2021.12.28 |
C# 정렬 알고리즘 - 힙정렬(Heap sort) (0) | 2021.12.27 |