4주차(1/22~1/28)
진도 : chapter 07
기본 미션 : 함수의 유형을 정리하여 공유하기
매개변수가 없는 함수 : 매개변수 자리에 void를 적어야 함
반환값이 없는 함수 : 선언과 정의의 반환형에 void를 사용함, return문을 생략 가능
매개변수와 반환없이 모두 없는 함수 : void 함수명(void)로 함수의 원형을 정의함
재귀호출 함수 : 함수 안에서 자기 자신을 호출함
선택 미션 : p. 198 7-5. 직접 해보는 손코딩 예제 테스트 후 apple 출력하고 종료한 화면 캡쳐하기, 왜 무한대로 출력 되지 않는지 이유에 대해 생각해보고 정리해보기
무한대로 apple이 출력되지 않는 이유는 메모리 할당량이 이미 큰 함수를 호출했기 때문에 프로그램을 실행하는 것 자체만으로도 메모리 사용이 크기 때문이다.
정답 : 함수는 호출만으로도 일정 크기의 메모리를 사용하므로 무한 호출하면 프로그램 하나가 쓸 수 있는 메모리(해당 프로세스에 할당된 스텍 메모리)를 모두 사용하여 강제 종료됨
표준 라이브러리 함수 : printf나 scanf 함수처럼 특정 기능을 미리 약속하고 프로그램에서 바로 사용할 수 있게 구현되어 있는 함수 함수 정의 : 함수를 실제 코드로 만드는 것이며 기능을 구현 함수 호출 : 함수 호출을 해야지 함수를 사용할 수 있음 함수 선언 : 프로그램의 상단에서 어떤 함수를 사용할 것이라고 컴파일러에 정보를 주는 역할
함수 정의
: 함수를 만드는 것 형태 :
반환형 함수명(매개변수1, 매개변수 2) {
// 함수가 수행하는 명령. 결괏값(매개변수1 + 매개변수2)를 돌려보냄
}
함수 호출과 반환
함수 호출
인수 : 함수를 호출할 때 이름을 사용하여 함수에 필요한 데이터를 넣어줌 함수 호출에 입력된 인수는 호출된 함수의 매개변수로 사용
함수 반환
함수의 반환값을 수식의 일부로 사용할 수 있음
함수 선언
함수 원형에 세미콜론을 붙임 함수 선언이 필요한 이유
매개변수가 없는 함수
함수의 매개변수 자리에 void를 사용함
매개변수가 필요 없지만 키보드로 입력받은 값을 호출한 함수로 반환하므로 반환형(int)와 반환하는 문장(return num;) 필요함
반환값이 없는 함수
선언과 정의의 반환형에 void를 사용함
반환값이 없는 함수는 return문을 생략할 수 있음
매개변수는 있으나 반환형이 없음