함수 원형은 반환형, 이름, 매개변수 목록을 먼저 명시합니다.
함수 호출과 변수 생존 시간 판별표
함수 문제는 호출될 때 새 변수 공간이 생기고, 반환될 때 사라지는 흐름을 기준으로 읽습니다.
인수 값이 매개변수로 복사되어 함수 본문이 실행됩니다.
지역변수는 블록 안에서만 보이고 전역변수는 여러 함수에서 보입니다.
return 값은 호출 위치로 돌아가고, void 함수는 값 없이 끝납니다.
static 지역변수 수명
재귀 함수는 호출마다 매개변수와 지역변수가 새로 생기므로, 종료 조건을 찾는 것이 첫 단계입니다.
값에 의한 전달
매개변수 값을 바꿔도 원본 변수는 바뀌지 않습니다.
전역변수
여러 함수에서 접근할 수 있어 편하지만 같은 이름의 지역변수에 가려질 수 있습니다.
extern
다른 파일이나 뒤쪽에 정의된 전역변수를 참조하겠다는 선언입니다.
재귀
기저 조건에 닿을 때까지 호출이 쌓이고, 반환하면서 계산이 풀립니다.