프로그램이 실행되면 운영 체제는 main() 함수 호출을 수행한다. main의 맨 위로 이동한 뒤 순차적으로 실행한다. 마지막으로 main() 함수는 정수(int) 값(일반적으로 0)을 운영체제에 반환한다. 이것이 main이 int main()으로 정의된 이유다. 이 값을 상태 코드(status code)라고 하며, 프로그램이 성공적으로 실행되었는지를 알려준다. 규칙에 따라 반환 값 0은 성공을 의미하고 양수 값은 실패를 의미한다. C++ 표준에서는 main() 함수가 정수 값을 반환해야 한다고 말한다. 만약 main() 함수에 return 문이 없다면 컴파일러가 사용자를 대신해서 0을 반환한다. 그러나 명시적으로 main() 함수에서 값을 반환하는게 좋다. 이는 의도를 보여주기 위해 그리고 반환 값을 ..
인터럽트 (interrupt) 현재 실행하고 있는 함수 호출자 (caller) 함수 호출을 하는 함수 수신자 (callee, called function) 호출되는 함수 반환 값 (Return value) int main() { ... return 0; } 함수를 작성할 때, 함수가 호출자(caller)에게 값을 반환(return)할지 말지 결정하게 된다. 함수 정의에 함수 반환 형식을 설정하면 된다. 반환 유형(return type)은 함수 이름 앞에 선언된 유형이다. 반환 유형은 특정값을 나타내지 않는다. 반환되는 값 유형을 나타낸다. 그런 다음 호출된 함수 내부에서 return 을 사용해서 호출자(caller)에게 반환되는 특정 값을 나타낸다. 함수에서 반환된 실제 값을 반환 값(return val..
cin character input cout character output L-Value 와 R-Value 일반적으로 대입 연산자(=)의 피연산자 중 왼쪽에 위치하면 l-value, 오른쪽에 위치하면 r-value라고 한다. l-value는 메모리상에서 지속적인 주소(위치)를 가진 값이다. 즉, 표현식(expression) 이후에도 없어지지 않고 지속된다. 변수들은 주소를 가지고 있으므로 모두 l-value다. 할당(assignment)을 수행할 때, 대입 연산자의 왼쪽 편은 l-value이어야 한다. 5 = 6; 위와 같은 코드는 5가 l-value가 아니므로 컴파일 오류가 발생한다. 값 5에는 위치를 가진 메모리가 없으므로 아무것도 할당할 수 없다. 5는 5를 의미하며, 값은 다시 할당할 수 없다. ..