C++ 프로그램은 함수들의 집합이고, 함수는 구문들의 집합이다. 아래의 코드에서 봐야 할 두 종류의 구문이 있다. 하나는 변수를 선언하는 선언 구문(declaration statement)이고, 다른 하나는 변수에 값을 대입하는 대입 구문(assignment statement)이다.
int main()
{
using namespace std;
int carrots; //정수 변수를 선언
carrots = 25; //변수에 값을 대입
cout << "나는 당근을 ";
cout << carrots; //변수의 값을 출력
cout << "개 가지고 있다.";
cout << endl;
carrots = carrots - 1; //변수의 값을 변경
cout << "아삭아삭, 이제 당근은 " << carrots << "개이다." << endl;
return 0;
}
선언 구문과 변수
컴퓨터에 어떤 정보를 저장하려면 그 정보가 얼마나 많은 기억 공간(memory storage)을 차지하는지 알아야 하며, 또한 그 정보가 저장될 위치도 알아야 한다. C++에서 이것을 하는 가장 쉬운 방법은 선언 구문을 사용하는 것이다. 선언 구문은 정보를 저장할 기억 공간의 형태를 지정하고, 그 위치가 어디인지 말해 주는 꼬리표(label)를 제공한다.
int carrots;
위 구문은 하나의 정수를 저장할 수 있는 기억 공간을 프로그램이 사용할 예정이라고 선언한다. 컴파일러는 이르 ㄹ위한 기억 공간은 대입하고, 그 위치가 어디인지 말해 주는 꼬리표를 붙이는 작업을 수행한다. 다음으로 해야 할 일은 저장된 데이터의 이름을 선언하는 것이다. 선언 구문은 데이터형을 선언할 뿐만 아니라, 앞으로 프로그램에서 그 기억 공간에 저장되어 있는 값을 carrots이라는 이름으로 사용하겠다고 선언하는 것이다. carrots과 같은 이름을 변수(variable)라고 부른다. C++에서는 모든 변수를 사용하기 전에 미리 선언해야 한다.
이와 같은 선언 구문을 정의 선언 구문, 또는 정의(definition)라고 부른다. 프로그램에 정의 선언 구문이 있으면 컴파일러는 그 변수를 위해 메모리 공간을 대입한다.
대입 구문
대입 구문은 기억 위치에 어떤 값을 대입한다.
carrots = 25;
위 구문은 변수 carrots로 나타내는 기억 위취에 정수 25를 대입한다. 여기서 등소(=)는 대입 연산자(assignment operator)라고 부른다. C++의 특징은 대입 연산자를 연이어 사용할 수 있다는 것이다.
yamaha = baldwin = steinway = 88;
대입 구문은 오른쪽에서 왼쪽으로 차례대로 처리된다. 즉, 88이 steinway에 대입되고 steinway의 값이 baldwin에 대입되고 baldwin의 값이 yamaha에 대입된다.
cout의 새로운 사용법
cout은 문자열 뿐만 아니라 변수의 값도 출력이 가능하다.
cout << carrots;
위 구문은 변수 carrots에 저장되어 있는 값인 정수를 출력한다. 내부적으로 위 구문은 두 가지 작업을 한다. 먼저 cout은 carrots를 정수 25로 대체한다. 그 후, 정수 25를 적당한 출력 문자 2와 5로 변환한다. 여기서 알아야 하는 것은 정수 25와 문자열 "25"는 완전히 다르다는 것이다. 문자열 "25"는 문자 '2'와 문자 '5'를 단순히 붙여 놓은 것이다.
'서적 정리 > C++ 기초 플러스' 카테고리의 다른 글
9.const 제한자 (0) | 2022.07.25 |
---|---|
8.간단한 변수 (0) | 2022.07.22 |
7.함수(function) (0) | 2022.07.20 |
6.C++의 기타 구문 (0) | 2022.07.20 |
4.C++의 시작 (0) | 2022.07.20 |
3.프로그램 작성 요령 (0) | 2022.07.20 |
2.이식성과 표준 (0) | 2022.07.20 |
1.C++의 탄생: 간략한 역사 (0) | 2022.07.20 |
댓글