이번 문제를 통해서는 C언어 연산자(Operator)의 종류와 연산자별 우선 순위(Precedence)와 결합 방향(Associativity, 결합성, 연관성)을 다룰까 합니다. 연산 우선 순위는 서로 다른 연산자가 섞여 있는 경우 어떤 연산자를 먼저 수행할 것인지를 다루는 것으로 "a + b * c"인 경우 b*c를 먼저 수행하고 그 결과와 a를 더하는 작업을 나중에 수행하는 것과 같습니다. 결합 방향은 동일한 순위 레벨(+와 -는 같은 수위이고 *과 /도 동일 순위)을 가진 연산자가 섞여 있는 경우 연산 순서를 좌->우로 할지 우->좌로 수행할 지를 결정합니다. 예를 들어 "a + b+ c"는 좌->우 결합성을 가져서 a+b 결과에 c를 더합니다. 그런데 캐스팅, 주소추출등의 연산자는 우->좌 방향으..
정보 처리 과정을 가장 단순한 구조로 설명할 때 입력(Input)-처리(Process)-출력(Output)으로 말하는 것처럼 프로그램에 있어 입력과 출력 과정은 프로그램의 정체성을 나타내는 매우 중요한 부분입니다. 요즘이야 스마트폰으로 다양한 센서 정보를 받기도 하지만 전통적인 C언어의 표준 입력은 키보드이고 C언어에서는 표준 입력에 대해서 stdin이라는 파일 포인터를 제공합니다. 프로그램에서 프린터나 인터넷과 같은 통신으로 출력을 내보낼 수도 있지만 C언어에서는 표준 출력은 화면이고 C언어에서는 표준 출력에 대해서 stdout이라는 파일 포인터를 제공합니다. C언어에서는 stdin, stdout, stderr과 같은 시스템 파일포인터와 함께 표준 입출력을 위한 라이브러리 함수를 제공하는데 표준 입력에..