프로그래밍 공부
작성일
2023. 3. 8. 18:51
작성자
WDmil
728x90

int main에 대해 생각해보자. main문의 int문이 무엇일까? 바로 정수형을 이야기 한다. 이것은 변수의 자료형을 뜻하는데,

int main 의 () 에 는 void가 생략되어 있는 것을 말한다.

 

위와 같은 코드를 살펴보자.

코드에 반복되는 수가 2개가 있다. 뭔가 불편해보이지 않는가?. 이것을 하나의 코드줄로 압축하여 필요할때 가져와서 사용해보도록 하자. 

단축된 코드

이렇게 짜서 넣어놓으면 우리는 전달인자는 없고, 반환값은 있는 함수를 만들어서 제공해준 것 이다. 이렇게 사용하면 반복되는 코드를 계속해서 사용하지 않고 그때그때 필요한 것 을 가져와서 사용할 수 있게 되는 것 이다.

이번에는 전달인자를 받아오도록 해보자.

이렇게 짜서 작동시키면된다. 12줄에서 19줄 까지의 코드는 주석처리 된것과 그냥 들어간것의 결과가 같다.

출력해보면 이렇게 동작한다.

이번에는 void 선언한 펑션을 출력해보자.

void 는 전달인자 는있지만, 반환값은 없는 경우 이다.

이번에는 전달인자와 반환값이 없는 경우를 보아보자.

test를 살펴보면 된다.  전달인자와 반환값이 둘다 없음으로 그냥 실행만 해주면 된다.

 

함수의 선언부와 정의부를 확인해보자.

왜 나누어지냐면, 복잡하기 때문에 그렇다. 코드가 몃만줄 정도가 되면 너무 많은 코드들로 인해 사용자가 인지하고 고치기가 어려워지기 때문에, 코드를 정리해줄 필요가 있는데, 메인문은 생각보다 바보같아서 자신의 위에 함수가 선언되지 않으면 인식하지 못한다. 우리는 이러한 함수의 이름을 메인문 위에 선언해주고 진짜 코드는 메인의 밑에 작성해주는 방법을 사용한다.

예시를 보자.

여기서 위쪽 34줄을 지우면 main문은 Compare가 있는지 없는지 알 수 없기 때문에 main문 안에 Compare를 선언해주어도 실행 할 수 없다. 언제나 컴퓨터 코드는 위에서 밑으로 내려가면서 실행되기 때문이다.


이번에는 제귀함수를 알아보자.

제귀함수란, 자기자신을 다시한번 호출하는 즉, for문을 사용하지 않고 자기자신을 계속 호출하게 만드는 함수이다.

이게 어떻게 가능한지 예시를 보고 살펴보도록 하자.

위와같이 제귀함수로 계속해서 자기자신을 호출하여 출력할 수 있을것 이다. 그러나, 종료조건이 들어가지 않아 무한반복하다가 갑자기 메모리초과로 종료되는 것을 볼 수 있다. 그럼으로 우리는 종료조건을 다시 설정해야한다. 설정해보자.

3번만 실행된다

이렇게 3번만 실행되는 것 을 볼 수 있다.

다른 예시를 보자. 이번에는 4!을 계산해보는 코드를 짜보자.

위와 같이 짜면 된다.


Array, 배열에 대해 알아보자.

우리가 만약 100개의 int변수를 사용해야 한다고 해보자. 우리가 100개의 변수를 전부다 선언해주어야 할 것 이다.

너무 피곤하고 귀찮은 작업이지 않은가, 그래서 다른방법으로 int변수를 100개 선언해줄 수 있을것이다.

이것을 배열 이라고 한다.

배열의 예시를 살펴보자.

배열의 선언방법

배열의 선언은 매우 간단하다. 위와 같이 int 에 변수명을 선언하고 [40]같이 괄호로 감싸면 된다. 만약 6번줄과 같이 썼다면, floor이라는 배열이 40칸 생성되었다는 것 이다.

 

이러한 배열을 생성해보고 접근해보고 출력해보자.

이렇게 접근과 출력이 가능하다.

define을 사용해서 정의한 문장으로 데이터를 정해주어도 좋고, 데이터 배열을 미리 선언한 펑션으로 가져와도 좋다.

생성된 배열의 크기는 각각의 배열 데이터 사이즈와 같다. 이것을 출력해서 확인해보자.

728x90