[혼공C] 4주차 chapter 07. 함수

회색몽구스·2024년 1월 22일
0

07-1 함수의 작성과 사용

함수 정의

1) 함수의 기능에 맞는 이름은 무엇인가? : 함수명
2) 함수가 기능을 수행할 때 필요한 데이터는 무엇인가? : 매개변수
3) 함수가 수행된 후의 결과는 무엇인가? : 반환형

--> 위 질문에 대한 답이 함수 원형이 되고, 수행할 내용을 중괄호 안에 넣어주는 것이 함수 정의가 됨

함수 호출과 반환

함수를 호출할 때 이름과 함께, 함수에 필요한 데이터를 괄호 안에 같이 넣어 줌 : 인수
-> 입력된 인수가 호출된 함수의 매개변수에 복사되어 사용

함수 선언

1) 함수를 호출하기 전에 선언을 통해 변환형을 미리 컴파일러에게 알려 저장 공간을 미리 확보하도록 명령하는 역할
2) 함수의 호출 형식에 문제가 없는지 호출할 때 정확한 값을 주는지 미리 컴파일러가 검사할 수 있게함

07-2 여러 가지 함수 유형

매개변수가 없는 함수

매개변수의 자리에 void를 넣어 매개변수가 없음을 명시적으로 표현하는 것이 좋음
함수 정의나 선언에서만 사용하고 호출할 때는 괄호만 함수명 뒤에 붙이면 됨

반환값이 없는 함수

반환형의 자리에 void를 사용
return문은 값 없이 단독으로 사용, 또는 생략해도 됨

매개변수와 반환값이 모두 없는 함수

매개변수와 반환형에 모두 void를 사용

재귀호출 함수

함수는 호출만으로 일정 크기의 메모리를 사용하므로 무한 호출하면 스택 메모리를 모두 사용하게 되어 메모리 부족으로 강제 종료됨
그러므로, 반복 고리를 끊을 수 있는 조건식을 반드시 포함해야 함

  • 코드 읽기가 쉽지 않고 반복 호출되면서 메모리를 사용하므로 제한적으로 사용하라

마무리

  • 처리할 데이터를 스스로 입력하는 함수에는 매개변수가 없어도 된다
  • 전달받은 데이터를 화면에 출력하는 함수는 반환형을 쓰지 않아도 된다
  • 같은 내용을 단지 화면에 출력하는 함수는 매개변수와 반환값을 둘 다 쓰지 않아도 된다
profile
끄아아아아 할 수 있다

0개의 댓글