함수의 작성과 사용
함수란 기능을 수행하는 코드 단위를 말한다. C언어에서는 여러 함수를 만들지만 main함수는 꼭 하나만 있어야 한다. 폴더 안에 여러 C언어 프로젝트 파일을 만들었다고 가정을 하자. 그 파일 마다 main함수를 만들면 어떻게 될 까? 컴파일 과정에서 아래 사진처럼 오류가 발생했다고 경고문?이 나온다
함수를 만들려면 3가지가 중요한데 함수 정의, 함수 호출, 함수 선언이다.
함수 정의
함수를 정의할 때 중요한 것은 함수의 기능에 맞는 이름 설정하기, 기능을 수행하는 데 필요한 데이터는 무엇인지, 함수가 수행된 후의 결과는 무엇인지를 생각하고 만들어야 한다.
함수를 만드는 법은 아래와 같다.
반환형 함수명 (매개변수) {
함수가 수행하는 명령 코드
}
반환형 : 반환형은 함수의 결과값으로 나올 데이터의 유형을 작성하는 것이다.
함수명 : 기능에 알맞은 이름을 작성하는 것이 좋다.
매개변수 : 함수가 처리할 데이터를 저장하는 변수이다.
함수 호출 및 반환
함수를 만들었다고 함수가 그냥 실행되는 것이 아니다. 함수를 실행시키고 싶으면 아래 사진처럼 sum를 정의하고 호출해줘야 한다. 함수 반환은 return 키워드를 사용해 만든다. retun 아래로 코드를 작성하면 아무것도 인식되지 않을 것이다.
재귀함수
재귀함수는 자기 자신을 다시 호출하는 함수이다. 즉 함수를 정의할 때 코드 안에 자신을 호출하는 코드를 작성한 녀석을 뜻한다.
추가 숙제
무한 호출하면 프로그램 하나가 사용할 수 있는 메모리를 모두 사용하여 강제 종료가 된다고 책에 나와있습니다!! JS 같은 경우 무한 호출을 하면 크롬이 먹통 되는 경우도 할당된 메모리 공간을 무한 호출이 사용하기 때문에 그런게 아닐까 싶습니다.