C 언어
C 언어에서 함수를 사용할 경우 얻을 수 있는 장점은 무엇인가?**
복잡한 기능을 함수로 만들어 재사용할 수 있기 때문에 코드를 간결하게 유지할 수 있고, 프로그램의 모듈화를 가능하게 한다.
함수의 원형이 필요한 이유는 무엇인가? **
컴파일러에게 함수의 기본형과 반환되는 데이터형을 미리 알려주고 함수 호출 시 사용되는 매개변수의 개수와 데이터형의 불일치를 미리 검사 할 수 있게 함으로써 프로그램 실행 시 발생할 수 있는 오류를 방지하는데 도움을 주기 때문이다.
C언어에서 제공하는 함수의 인자 전달 방법에는 어떤 것이 있는가?**
값에 의한 호출과 참조에 의한 호출이라는 두 가지 방법이 있다. 값에 의한 호출은 실인자의 값이 형식 인자에 복사되어 사용되므로 형식 인자의 변화가 호출 측에 영향을 줄 수 없지만, 참조에 의한 호출은 메모리 주소를 참조하기 때문에 형식인자를 이용한 데이터의 변화는 호출 측에 영향을 준다.
call by reference
call by value
C언어의 main() 함수에도 인자가 있다. 어떤 용도로 사용 할 수 있는가?**
운영체제에서 프로그램을 실행 할 때 해당 프로그램에 필요한 옵션 정보를 명령행을 이용해 전달할 수 있다.
전역 변수와 지역 변수의 차이점은 무엇인가? 그리고 C언어가 4가지 기억 클래스를 제공하는 이유는 무엇이라고 생각하는가?**
지역변수는 함수 내부에서 선언되어 함수와 생명력을 같이 하는 변수고, 전역 변수는 함수 밖에서 선언되어 프로그램 전체에 걸쳐 모든 함수가 공유하는 변수다. C는 기억 장치 활용에 따른 효율성을 높이기 위해 auto, static, extern, register라는 4가지 기억 클래스를 제공한다.
재귀 함수를 사용할 경우 특히 주의해야 할 점은 무엇인가?**
재귀 함수는 반드시 자신의 호출을 멈출 수 있는 탈출 조건이 있어야 한다. 그렇지 않으면 무한 재귀를 반복한 결과로 “스택 오버플로우”와 같은 심각한 상황에 빠질 수 있기 때문이다.