[혼공학습단] 혼자 공부하는 C언어 4주차

CE의 velog·2025년 2월 23일
0

[chapter 07 함수]

07-1 함수의 작성과 사용

  • 함수 정의
    -함수를 만드는 것 (함수 이름, 필요한 데이터, 수행 후 결과 고려)

    반환형 함수명(매개변수1, 매개변수2) : 함수원형
    {
        // 함수가 수행하는 명령. 결과값(매개변수1+매개변수2)를 돌려보냄
    }
  • 함수 호출과 반환
    -먼저 함수 호출 후 함수 사용
    -함수 호출에 입력된 인수는 호출된 함수의 매개변수에 사용된다
    -함수의 실행을 끝내고 호출한 곳으로 돌아가기 위해/ 값을 호출한 곳으로 반환하기 위해 return문을 사용)

  • 함수 선언
    -함수 원형에 세미 콜론 붙이기
    -함수 정의가 있는데 함수 선언이 필요한 이유

07-2 여러 가지 함수 유형

  • 매개변수가 없는 함수
    -호출한 함수로부터 값을 받을 필요가 없으므로 매개변수 불필요한 경우
    -매개변수 자리에 void를 적어 매개변수 없음 정의

  • 반환값이 없는 함수
    -호출한 곳으로 특별히 값을 반환할 필요가 없는 경우
    -선언과 정의의 반환형에 void를 적어 반환값 없음 정의
    -반환값이 없는 함수는 return문을 생략 가능 (return문이 없어도 함수의 코드를 모두 수행하면 호출한 곳으로 자동으로 돌아감)
    -return문은 함수 어디서든 사용 가능

  • 매개변수와 반환값이 모두 없는 함수
    -같은 내용을 단지 화면에 출력하는 함수의 경우
    -매개변수와 반환형 모두 void 사용: void 함수명(void)

  • 재귀호출 함수
    -함수 안에서 자기 자신을 호출
    -함수 안에 재귀호출을 멈추는 조건이 없을 시 계속 호출되어 계속 출력되는 경우가 발생 => 중간에 종료되는 비정상적 종료 발생

  • 재귀호출과 반복문의 차이점
    -재귀호출 함수의 경우 최초 호출한 곳이 아니라 이전에 호출했던 곳으로 돌아감
    -재귀호출은 하나의 함수에서 코드를 반복 실행하는 듯하지만, 실제로는 새로운 함수를 실행

  • 기본 숙제: 블로그 작성 내용

  • 추가 숙제
    함수는 할당된 스택 메모리를 모두 사용하게 되어 스택 오버플로우 현상 발생으로 무한으로 출력되지 않고 종료

0개의 댓글

관련 채용 정보