"C++ 기초 명령어" 챕터에서는 C++ 프로그래밍을 하는데 있어 가장 기초적으로 사용되는 명령어들을 몇가지 알아볼 예정입니다.
아래의 순서대로 챕터가 진행될 예정입니다.
- [2.1. 변수와 변수 선언] - 오늘의 챕터
- [2.2. 데이터 입력 / 데이터 출력]
- - [2.2.1] cout을 통한 데이터 출력- 오늘의 챕터
- - [2.2.2.] 이스케이프 시퀀스
- - [2.2.3] 데이터 입력 cin
- - [2.3. 데이터 타입]
- [2.4. Boolean 데이터 타입]
오늘은 [2.1. 변수와 변수 선언] 챕터를 통하여, C++ 뿐만 아니라 모든 프로그래밍에서 사용되는 "변수와 변수의 선언"에 대한 개념을 알아보겠습니다.
변수 (Variable)
변수란 데이터를 담을 수 있는 메모리의 한 공간입니다.
여러 값을 적었다 지울 수 있는 칠판으로 생각할 수 있습니다. 위에서 보이는 "X" 처럼, 어떤 값이든 대입할 수 있습니다.
메모리는 위에서 보이는것처럼 여러개의 칸으로 나누어져 있습니다.
32 비트 CPU를 사용하고 있다면, 총 232, 즉 4억개정도의 칸을 가질 수 있습니다.
각각의 칸에 데이터를 넣은 다음 다시 그 데이터를 사용하기 위해선, 어떤 칸에 넣었는지 알아야 하기 때문에, 각각의 칸마다 명칭이 필요합니다. 그것을 우리는 메모리 주소라 부릅니다.
메모리 주소는 총 4억개가 있기 때문에, 16진법으로 표기됩니다.
예를들어, "0x7ffee79daaec"등의 형태로 표현될 수 있습니다.
메모리 한 칸에는 1비트의 정보를 넣을 수 있습니다. (0부터 255까지의 값을 넣을 수 있습니다)
- 1비트가 넘는 정보를 메모리에 저장한다면, 연속된 메모리의 공간에 데이터를 넣게됩니다.
예를들어 BEE라는 데이터를 메모리에 저장한다고 하면,
아래 그림처럼 데이터를 저장하게 됩니다.
변수 사용 예 (Sample code)
변수를 사용하는 하나의 예를 보도록 하겠습니다.
#include <iostream>
using namespace std;
int main(){
int BEE;
BEE = 10;
cout<<"변수 BEE의 값은 = "<<BEE<<endl;
cout<<"변수 BEE의 주소 값은 = "<<&BEE;
return 0;
}
위의 코드를 실행하였을 때, 아래와 같은 결과를 볼 수 있습니다. (변수의 주소값은 다를 것입니다)
변수 BEE의 값은 = 10
변수 BEE의 주소 값은 = 0x7ffeecbf2ae8
Process finished with exit code 0
면저 int main (){ 이후에 들어오는 코드들을 살펴 보겠습니다.
int BEE;
=int 의 데이터 타입을 담는 변수를 만들며, 그 변수의 이름은 BEE.
라는 뜻입니다. 데이터 타입에 따라 int 대신, char, string, double 등의 데이터 타입을 대신하여 사용할 수 있으며, 이 데이터 타입은 차후에 또 자세히 알아볼 계획입니다.
BEE는 유저가 임의대로 설정할 수 있는 변수명입니다.
BEE = 10;
= 만들어놓은 int를 담는 변수 BEE에 10이라는 데이터를 대입합니다.
여기서 중요한 점은 BEE에 int의 데이터 타입만 담는 점입니다.
왜냐하면 변수를 선언할 때, int 타입의 데이터를 넣기로만 선언을 하였기 때문입니다.
예를 들어, 10.5라는 데이터를 유저가 넣어도, 실제 메모리에 담기는 값은 10이 됩니다.
cout<<"변수 BEE의 값은 = "<<BEE<<endl;
= 메모리에 담긴 변수 BEE 의 값을 모니터에 표기하라는 뜻입니다.
"cout<<"은 사용자가 지정하는 값을 모니터에 표기하라는 명령어입니다.
즉 "cout<<"뒤에 나온 "변수 BEE의 값은 =" 이라는 글자가 출력되며 추가적으로 "<<"의 뒤에 있는 BEE의 값 10이 출력되게 됩니다.
cout<<"변수 BEE의 주소 값은 = " << &BEE;
= BEE라는 변수의 주소 값을 출력합니다.
cout<<이라는 명령어를 사용하여 데이터 값을 출력할것이다는것을 선언하고
그 뒤에 문자열인 "변수 BEE의 주소 값은 = "을 먼저 출력하고,
다시 "<<"을 표기하여, 추가적으로 "&BEE"즉 BEE의 메모리 주소를 출력합니다. ("&"를 변수앞에 사용할 시 그 변수의 주소를 보여줍니다) (차후에 포인터의 개념을 다룰 때 중요하게 사용됩니다)
컴퓨터 마다, 이 변수에 대한 주소값은 다 다릅니다.
저는 "0x7ffeecbf2ae8" 라는 위치에 데이터가 저장 되었습니다.
직접 위 코드를 실행해보는것이 이해하는데 가장 큰 도움이 될것입니다.
변수명 (Identifier)
변수명: 위의 예시에서는 변수를 "BEE"라는 이름으로 명하였습니다.
변수명을 'Identifier"라고 부르고 있으며, 변수명을 다른 사람들이 보았을때에도 이해할 수 있도록 짓는것이 중요합니다.
모든 변수명은 아래의 법칙을 지켜야합니다:
- 알파벳 또는 밑줄표시 '_'로 시작하여야 합니다.
- 변수명은 알파벳, 숫자, 밑줄표시로만 적혀있어야 합니다.
사용가능한 변수 예) "_123", "A_123"
사용불가능한 변수 예) "1_abc", "%data", "data-1", "indentifier.cpp"
C++에서는 변수명으로 사용할 수 없는 몇가지 단어들이 있습니다. 이를 키워드 "keyword" 또는 "reserved word"라 부르며,
예로는) for, default, if 등등이 있습니다.
모든 키워드 리스트는 아래와 같습니다.
변수선언 (Variable Declaration)
C++프로그래밍에서는 모든 변수를 선언하여야 합니다.
여기서 변수를 선언한다는 것은 컴파일러에게 변수가 어떤 타입의 데이터를 저장할 것인지를 이야기하는것입니다.
아래 예로 변수 선언에 대해 보여드리겠습니다)
int first_data;
double second_data, third_data;
위 명령어들은 총 3개의 변수를 2개 타입으로 선언하였습니다.
int (정수) 를 담는 변수 "first_data"를 하나 선언하였으며
double (실수)를 담는 변수 "second_data"와 "third_data" 2개를 선언하였습니다.
여기서 int 와 double은 하나의 데이터 타입이며, 추후에 데이터 타입에 대해서 자세히 다루도록 하겠습니다.
변수 선언은 2가지 방법으로 할 수 있습니다.
-변수를 사용하기 전에 선언
-프로그램의 시작에 프로그램에 사용될 변수를 미리 선언
변수를 사용하기전에 선언:
int main ()
{
int first_data;
first_data = 10;
double second_data;
second_data = 20;
double third_data;
third_data = first_data + second_data;
}
위 방법은 변수를 사용하기 바로 전에 변수를 선언하는 방법입니다.
보이듯이 first_data에 값을 넣기전에 변수를 선언하였으며,
second_data에 값을 넣기 전에 변수를 선언하였습니다.
프로그램의 시작에 프로그램에 사용될 변수를 미리 선언:
int main ()
{
int first_data;
double second_data, third_data;
first_data = 10;
second_data = 20;
third_data = first_data + second_data;
}
위 방법은 프로그램의 시작에 프로그램에서 사용할 변수를 미리 선언하는 방법입니다.
이 프로그램에서는 변수 first_data, second_data, third_data를 사용할것이라 미리 선언합니다.
두가지 방법중 어떤 방법을 사용하던지 상관은 없으며, 프로그램이 깔끔하게 보이도록 하게 하는 방법을 사용하시면 됩니다.
대입문 (Assignment Statement)
대입문은 변수에 값을 대입하는 방법중 하나입니다. "내가 선언한 변수에 이러한 식으로 값을 대입해줘"하는 명령어라 생각하시면 됩니다.
바로 위에서 사용한 코드를 통해 대입문의 예를 한번 살펴보겠습니다.
int main ()
{
int first_data;
double second_data, third_data;
first_data = 10;
second_data = 20;
third_data = first_data + second_data;
}
변수를 선언하고 나서 마지막, third_data를 살펴보겠습니다.
third_data = first_data + second_data;
=선언한 third_data의 값에 first_data의 값과 second_data를 더한 값을 대입하라는 의미로 생각하면 됩니다.
대입문을 사용하는 방법은 위의 예시처럼, "=" 싸인 왼쪽에 새로 지정한 변수를 두고, 오른쪽으로는 대입할 변수를 넣으면 됩니다.
대입문을 사용하는 다른 예를 보이겠습니다.
int main ()
{
double second_data;
second_data = 10;
second_data = second_data+3;
}
위에서 보이는 코드의 마지막 줄 처럼, 변수를 선언하는 것도 가능합니다.
보기에는 어색해 보일 수 있으나, 해석을 해보면
새로운 변수 second_data에 이전 변수 second_data의 값(10)과 3을 더하는 것입니다.
그렇게하면, second_data의 변수 값은 10에서 13으로 바뀝니다.
위처럼, 변수의 값을 바꾸기 위해서는
second_data의 값이 미리 선정되어 있어야 합니다.
second_data의 값이 10으로 미리 설정이 되어 있어야, 3을 더해도 13이 될것입니다.
이상 오늘 C++프로그래밍에서 사용하는 변수와 변수 선언에 대하여 알아보았습니다.
다음 섹션에는 데이터의 입력/ 데이터의 출력에 대해 알아보겠습니다.
'Tech, Tech, Tech > C++' 카테고리의 다른 글
C++ 기초 명령어 [2.2 데이터의 입력과 출력] [이스케이프 시퀀스] (0) | 2019.12.20 |
---|---|
C++ 기초 명령어 [2.2 데이터의 입력과 출력][cout을 통한 데이터 출력] (0) | 2019.12.16 |
C++을 위한 기본 지식 [1.3 C++ 소개] [C++의 역사][C++예제][C++레이아웃] (0) | 2019.12.10 |
C++을 위한 기본 지식 [ 1.2 프로그래밍 기본 원칙][알고리즘, 프로그램 디자인, 객체지향] (0) | 2019.12.08 |
C++을 위한 기본 지식 - [1.1 컴퓨터 시스템] [하드웨어, 소프트웨어, 언어, 컴파일러] (0) | 2019.12.05 |
댓글