본문 바로가기

Coding Note

[C++] 상수 변수

프로그램에서의 상수와 변수에 대해 알아볼 것이다.

그 전에..
수학에서 상수는 항상 일정한 값을 취하는 양  이다.
그리고 변수는 글자 그대로 변할 수 있는 수 이다.
라는걸 기억해 봐라.

그런데 프로그램에서 상수와 변수는 비슷하지만 조금 다른 의미로 사용된다.
프로그램에는 많은 데이터가 있는데, 데이터는 상수와 변수로 구분할 수 있다.
상수는 프로그램이 실행되는 동안 변하지 않는 값이고,
변수는 프로그램이 실행되는 동안 변할 수 있는 값을 저장하는 공간  이라고 할 수 있다.

상수는 알고있는것과 큰 차이가 없고, 다만 정수, 실수, 문자, 문자열 또한 값이 변하지 않으면 상수라 할 수 있다는점이 조금 다르다.
(문자는 하나의 글자를 말하고, 문자열은 두개 이상의 글자로 이루어진 열을 말함..   뭔소린지 ㄷㄷ..  나중에 변수와함께 설명)

상수는 위 밑줄이 다이니 변수에 대해서 자세히 보자.

변수는 변할 수 있는 값을 저장하는 공간이라 했다.
풀어말해서, 새로운 프로그램을 만드려고 하는데 저장해둬야 할 값이 있으면 그 값을 위해 만든 공간이라 이해하면 된다.

일단은 코드를 보고 설명하도록 하자.
/*--------------------------------*/
#include<iostream>

int main(){
 int num;    //변수의 선언
 num = 7;   //변수num에 7을 대입
 
 std::cout<< num <<std::endl;   //콘솔창에 7  이라고 적혀있을 것이다.
 return 0;
}
/*--------------------------------*/

main의 속 코드만 보자.
먼저
   int num;
프로그램에서 '어떠어떠한 종류의 값을 저장할 수 있는 공간을 사용하겠습니다.' 하고 선언하는 과정이다.
한국인이니 한국어로 번역해주면,
"변할 수 있는 정수(integer)값을 저장 할 수 있는 공간을 만들어주세요~"
라는 뜻이다.

형식적으로 만들어보면
 [데이터 타입] [변수 이름];
의 모양새를 갖는다. (데이터 타입은 뒤에서 설명)

다음으로
   num = 7;
미리 받아둔 공간에 값을 대입하는 과정이다.(맨 처음 빈 공간이므로 초기화하는 과정이라고도 한다.)
한국어로 번역하면,
"아까만든 num이라는 공간에 정수7을 넣어주세요~"
이다.

번역에서도 알 수 있듯, 컴퓨터에게서 미리 공간을 받아두지 않으면 "넌 그런공간 달라고한적 없쟌아!" 라며 화를내는 컴퓨터를 보게될 것이다.


간단하다.
변수에 대해서 90%끝냈다.

공간을(변수를) 할당받고 -> 값을 넣어서(대입해서) 사용한다.

라고 정리 할 수 있다.
그리고 
 int num;
     num = 7;
------------
 int num = 7;
처럼 하나의 문장으로 쓸 수도 있다.

잠깐 중요한 사항은 변수의 이름을 짓는 규칙이다.
복잡하진 않고,
1. 사용할 수 있는 문자 : 영문 대문자. 영문 소문자. 수치문자. 밑줄(_).
2. 첫 번째 문자는 반드시 영문자 또는 밑줄(_)
3. 예약어를 변수명으로 사용불가.

대, 소문자를 구분하니 조심하고.
예약어란 cout 이나 int 같이 C++언어에서 사용하기 위해 미리 정해진 단어들을 말한다.
 cout       cin         endl         int     short      struct       unsigned        
float       double    long        while    for      goto         case       break
const     default      do          char     return   include
등등 엄청 많은데  다 외울 필욘 없고,
컴파일러가 알아서 잡아주니 하다보면 알게될 거다.

데이터 타입은 다음에..

'Coding Note' 카테고리의 다른 글

[C++] 데이터 타입의 변환  (0) 2011.03.07
[C++] 데이터 타입  (0) 2011.03.03
[C++] Hello World-  (0) 2011.03.02
[C++] C++ 시작하기 전.  (0) 2011.03.02
[winAPI] 이미지의 옆에보이는 흰 배경이 싫다!  (2) 2011.02.24