혼공 학습단/C언어

[혼공 학습단 3기] [C언어] 혼자 공부하는 C언어 기록 - 4 (4주차 미션)

Gongdile 2020. 3. 1. 21:34

[기본 미션] 직접 표로 햄심포인트 정리 공유

 

내가 생각할때 제일 중요한 부분은 

적절한 함수 형태를 응용해서 사용할 수 있느냐 인 것 같다. 

 

그리고 이 함수형태가 정확히 어떤건지 보고 이해하는것.. 

 

그래서 다양한 함수 형태만 간단하게 정리한다. 

 

1. 매개변수가 없는 함수

  • 함수의 매개변수 자리에 void를 사용한다
    • 예시) int get_num(void), int get num();
    • 괄호만 사용하는 것도 가능하지만 void를 넣어 매개변수가 없음을 명시적으로 표현하는 것이 좋다
  • void는 함수 정의나 선언에서 사용하며 호출할 때는 쓰지 않는다
  • 괄호조차 없다면 함수를 호출하는 문장이 아닌 그냥 함수의 이름으로 인식하므로 반드시 괄호는 사용해야 한다

2. 반환값이 없는 함수

  • 반환형의 자리에 void를 사용한다
    • 예시) void print_char(char ch, int count)
  • return문은 값 없이 단독으로 사용한다 (return;)
  • return문 자체를 생략하는 것도 가능하다

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

  • 매개변수와 반환형 모두에 void를 쓴다

 

 

 

[선택미션] 재귀함수 종료되는 스크린샷 및 왜 종료되는지 공유 

--> apple이 출력되다가 종료되는 이유는 아래 그림과 같은데 

무한으로 호출되다 보니까 프로그램 하나가 쓸 수 있는 메모리를 모두 사용해서 (스택 오버플로우가 발생하여)

강제 종료된다.