여행을 개발하다
변수(variable) 본문
안녕하세요!
오늘의 포스팅 주제는 '변수(variable)'입니다.
1. 변수의 정의
'변수'란 말 그대로 '값이 변하는 수'입니다.
변수는 하나의 데이터 값을 가지는데, 그 데이터 값은 다른 값으로 얼마든지 자유롭게 바꿀 수 있습니다. 다만, 반드시 이름(식별자 혹은 명칭)이 지정되어야 합니다.
2. 변수의 이름 작성 규칙
변수의 이름을 지정할 때는 몇 가지 규칙이 따릅니다.
1. 영문자와, 숫자, underbar(_)를 적절하게 조합하여 지정한다.
2. 첫 번째 문자는 반드시 문자(영문자 또는 underbar(_))로 시작해야 한다.
(숫자를 변수명의 이니셜로 설정하면 ERROR가 발생한다.)
3. C++ 언어 내 미리 지정된 예약어(豫約語)는 변수로 사용될 수 없다.
4. 대문자와 소문자는 확실히 구분한다.
5. 공백과 특수 문자는 사용할 수 없다.
3. 변수의 선언(Declare)
변수를 선언하는 방법은, " 데이터 타입 변수명 ; " 입니다.
변수에 적절한 '데이터 타입(문자인가, 숫자인가, 문자열인가 등)'을 적고, 변수명 그리고 세미콜론(;) 순으로 적어주면 변수의 선언이 완료됩니다.
4. C++ 언어의 5가지 기본 데이터 타입
변수를 선언할 때는 기본 데이터 타입을 적절하게 입력하는 것이 중요합니다.
변수 선언 후 데이터 타입과 변수의 입력 값이 다르게 되면, ERROR가 발생합니다.
지금부터 C++ 언어의 5가지 기본 데이터 타입에 대해 알아보도록 하겠습니다.
4-1. 문자형
* C++에서 문자 데이터란 하나의 문자(charactrer; char)를 의미합니다.
(여러 문자가 조합되어 열을 이룰 경우에는 '문자' 대신에 '문자열(string)'이라고 표현합니다. 단, 컴퓨터 자판에 기본적으로 표시되어 있는 문자들은 대부분 '문자'라고 생각하시면 됩니다.)
* 일반적으로 문자형 데이터는 7 bit의 ASCII 코드로 구성된 하나의 문자, 1 bit 인 sign bit를 포함하여 8 bit(=1byte)로 표시됩니다.
* 문자형에서는 'unsigned'와 함께 데이터 형태를 지정할 수 있으며, unsigned는 변수가 양수로 선언될 때만 사용 가능합니다. 표현 범위를 참고하면 그 차이를 알 수 있습니다.
자료형 |
크기 |
값의 표현 범위 |
char |
8 bit (1 byte) |
-128 ~ 127 |
unsigned char |
8 bit (1 byte) |
0 ~ 255 |
4-2. 정수형
* 소수부가 없는 데이터 형태를 의미합니다.
* 정수형은 서로 다른 메모리를 사용하여 정수를 저장하며, 메모리의 크기가 클수록 표현할 수 있는 정수의 범위가 커집니다.
* 정수형 자료에서도 'unsigned'와 함께 데이터 형태를 지정할 수 있으며, unsigned는 변수가 양수로 선언될 때만 사용 가능합니다.
자료형 |
크기 |
값의 표현 범위 |
int (=signed) |
16 bit |
–2,147,483,648 ~ 2,147,483,647 |
short |
16 bit |
–32,768 ~ 32,767 |
long |
32 bit |
–2,147,483,648 ~ 2,147,483,647 |
unsigned int |
16 bit |
0 ~ 4,294,967,295 |
unsigned short |
16 bit |
0 ~ 65,535 |
unsigned long |
32 bit |
0 ~ 4,294,967,295 |
4-3. 실수형
* 소수부가 있는 데이터 형태를 의미합니다.
* 매우 큰 값의 표현이나 아주 작은 값들을 처리하기 적당한 자료형입니다.
* 메모리의 크기에 비례하여 표현할 수 있는 수의 정밀도 또한 높아집니다.
자료형 |
크기 |
값의 표현 범위 |
float |
32 bit |
3.4E+/-38(7개의 자릿수) |
double |
64 bit |
1.7E+/-308(15개의 자릿수) |
long double |
64 bit |
1.7E+/-308(15개의 자릿수) |
5. 변수의 초기화 규칙
선언된 변수는 그 자체로서는 제 역할을 할 수 없습니다.
선언된 변수가 제 역할을 하기 위해서는 반드시 '초기값'이 입력되어야 하기 때문입니다.
이렇게 초기 값을 입력해주는 것을 '변수의 초기화' 라고 합니다.
예를 들어 보겠습니다.
다음은 i와 j라는 변수를 선언하고,
i는 그 자체로서 선언만, j에는 i값에 2를 더한 값으로 초기화를 시킵니다.
그리고 각각 정수형으로 i와 j를 나란히 출력해보겠습니다.
그 결과, "variable 'i' is being used without being initialized."라는 ERROR 메시지가 팝업됩니다.
그래서 기존 j는 그대로 두고, i에 초기값으로 0을 설정해보도록 하겠습니다.
그 결과, 0, 2가 각각 출력되며 정상적으로 실행이 됩니다.
선생님께서 알기 쉽게 변수의 초기화에 대해 설명해주셨습니다.
어머니가 점심을 먹으라며, 음식물 쓰레기통에다가 밥을 떠주셨습니다.
전 더러워서 먹을 수 없었습니다.
그래서 어머니는 음식물 쓰레기통을 씻고, 삶아서 다시 밥을 떠주셨습니다.
물론 진짜 그렇게 해주시면 먹을 수 없습니다.....
여기서 어머니가 음식물 쓰레기통을 씻고, 삶는 작업을 하신 후 밥을 다시 떠주신 것.
이것이 변수의 초기화라고 설명해주셨습니다 ㅋㅋ
지금까지
"C++의 변수의 의미, 형태, 선언 방법, 변수의 초기화"
에 대해서 알아보았습니다 : )
'BackEnd > C++' 카테고리의 다른 글
연산자(Operater) (0) | 2019.05.08 |
---|---|
표준 입출력 함수(printf) (0) | 2019.05.08 |
C++ 언어의 기본 구조, 주석(Comment), 솔루션 빌드 및 실행 (0) | 2019.05.07 |
Header, Heaer File(헤더 파일) (0) | 2019.05.07 |
C ++ 작업 환경 구축 (0) | 2019.05.07 |