컴퓨터/C언어 쉽게 배워보자

C언어 강좌 6. " 변수와 연산자" 란 무엇일까 (2) - 변수편

sdk 2016. 2. 2. 01:53

안녕하세요 sdk 입니다.


저번 포스팅에 이어서 변수와 연산자에 대하여 포스팅 하도록 하겠습니다.

이번 포스팅에서는 변수에 대하여 조금더 깊이있게 다뤄보도록 하겠습니다.


저번에 변수의 선언 방법과 사용 예를 하나 들었는데요

이번 포스팅에서는 " 변수 " 에 대하여 깊이있게 다뤄보도록 하겠습니다


우선 복습해봅시다


변수의 선언문을 다시 봅시다!!


int name;


( 변수의 자료형 )  ( 변수의 이름 ) 

이렇게 구성되어 있습니다.

우리는 이 선언문을 통하여 " 어떤 것 인지는 모르지만 어쨋든 int 자료형 name 변수를 만들어 보았습니다 " 

이제 하나씩 알아 가보도록 합시다.


우선 우리는 int 형 자료형을 알아야 합니다.

그전에 메모리 라는것을 알아야 하겠군요.

음.... 적절한 비유일진 모르겠지만 하나 예를 들어 설명해 드리도록 하겠습니다.



데이터를 사람으로 비유하고

메모리를 하나의 커다란 호탤로 비유하겠습니다.


일단 현실에서는 사람이 호탤에서 방을 빌리는 형태지만 

그게 아닌 우리가 사람들에게 객실을 지정해 주는 입장이라고 생각합시다.

즉 , 우리가 변수를 선언하는 행위는 " 데이터 (사람 ) " 를 위해서 메모리 안의 공간을 마련(객실을 지정) 해 주는 것 입니다.


자 , 이해가 가시나요?

요약하면 우리가 변수를 선언함으로써 그 자료형에 맞는 저장 공간을 메모리로부터 확보하고, 사용할수 있는 형태로써 제공하는것 입니다.


자 그러면 이제 이해가 가실겁니다.

변수의 자료형은 메모리의 할당 크기를 지정해주는 문구 라고도 할수 있겟죠. ( 정수 변수와 실수 변수의 차이가 있습니다 - 추후 포스팅을 통하여 설명드리도록 하겠습니다 ) 


C언어에서 등장하는 기본 자료형 입니다.



자료형

크기 

값의 범위 

 정수형

 char

 1바이트

 -128 이상 + 127 이하

 short

 2바이트

 -32,768 이상 +32,767 이하

 int

 4바이트

 -2,147,483,648 이상 + 2,147,438,647 이하

 long

 4바이트

 -2,147,483,648 이상 + 2,147,438,647 이하

 long long

 8바이트

 -9,223,372,036,854,775,808 이상

 +9,223,372,036,854,775,807 이하

 실수형

 float

 4바이트

 ±3.4x10^-32 이상  ±3.4x10^38 이하 

 double

 8바이트

 ±1.7x10^-307이상  ±1.7x10^308

 long double

 8바이트 이상

 double 이상 ( CPU마다 차이가 있다고 하는군요 )


즉 어떠한 변수를 선언하고자 할때 

그 변수의 목적에 맞는 크기의 자료형을 선정하는것이 중요합니다.


참고로 변수 선언은 다를게 없습니다.

char name;

short name2;

이런식으로 말이죠

short name2 = 0 ;

그리고 마찬가지로 " 선언과 함깨 초기화 "또한 다를게 없습니다!


( 변수의 자료형 )   ( 변수의 이름 ) 

이 구조만 알면 됩니다.




연산자 sizeof 를 이용하면 자료형의 크기를 알수 있습니다.

int num= 10;

int size1 = sizeof(num)

int size2 = sizeof(int)

함수가 아닙니다! sizeof 연산자는 메모리의 크기를 계산해 주는 연산자 입니다.

 size1 의 값은4입니다. num 이 int 형 변수기 때문에 4 바이트의 크기를 가지고 있기 때문이죠.

 size2는 피연산자로 int 형 키워드 자체가 들어가 있기 때문에 당연하게도... 4를 가지고 있습니다.



우선적으로 1차적인 변수의 이야기는 끝이 났습니다.

( 상수, 실수 , 정수 , 형 변환 과 같은 내용은 추후 포스팅을 하도록 하겠습니다 ! )

다음 포스팅은 기본적인 연산자에 대하여 이야기를 해보도록 하겠습니다.







여러분들의 댓글은 큰 힘이됩니다 :)