언어/C2013.10.07 15:05

변수!!  무엇을 뜻하는 말인가? 프로그래밍에서는 변수라는 뜻은 "변경이 가능한 수?" , "변하는 수?" 

어떠한 의미도 전부 틀리다고는 말 할 수 없다. 다르지만 틀린것은 아니다.


우리는 수식 중  "4 = x+1"  이라는 수식이 존재 한다고 했을 경우!  "x" 값이 3인것을 확 실히 할 수 있다.

그럼 x를 뭐하고 불러야 될까?  값? 분명 수학시간에 "어떠한 변수" 라고 했을 것이다. 


그럼 프로그래밍에서의 변수는? 그렇다. 어떠한 수식의 결과 값을 저장하는 곳을 의미한다. 


x = 4+1;,  x = 5-1;, x = 6-9;  우리는 이 식을 1초도 않되서 계산을 다 했을 것이다. 그리고 그 값이 x 라는 것도 알고 있다.

그럼 이것을 한꺼 번에 통합해 보자  x= y+z; 이렇게 말이다. 


위의 식과 통합한 식을 같에 만들려면 모두들 


1  x = 4+1;  x= y+z; ==> x=x , y =4 , z =  1 

2. x = 5-1;  x= y+z; ==x=x , y =5 , z = -1 

3. x = 6-9;  x= y+z; ==x=x , y =4 , z = -9 


이렇게 변화 시킬 것이다. 


즉, 우리는 정수를 담는 그릇인 x,y,z를 선언하고 그 값을 4,5,-1,-9 등으로 대입을 하고 그 결과 값을 도출한 것이다. 


이것을 프로그래밍 적으로 풀어 보면 


 
#include <stdio.h>
int main()
{
   int x,y,z;
   y = 4 ;
   z = 1;
  
   x= y+z;
   printf("결과는 : %d",x);
   return 0;
}


이런식으로 나열 할 수 있는 것이다. 


하지만 컴퓨터는 우리가 생각하는 만큼 똑똑하지 않다.!!

즉 저 그릇이 어떠한 그릇인지 명시해야 하며 그 그릇의 크기는 어떠한지도 생각해 줘야 한다. 


코끼리가 들어가야 될 그릇에 고양이가 들어가면 낭비는 되지만 들어 갈수는 있다.

하지만 반대로 고양이 그릇에 코끼리가 들어간다면 그 그릇은 깨지고 말것이다. 이러한 것들은 잘 다뤄야 한다. 


우리가 일상생활에서 배운 "수"라는것은 


이러한 구조를 띄우고 있다.


고로, 이러한 것을 이용하여 계산을 할 때에는 그에 맞는 변수 타입 이라는것을 지정 해 줘야 한다.

간단하게 많이 사용하는 변수 타입을 나열해 보자.



타입 (자료형)

크기 (32bit 기준)

표현 범위 

형식

 비고

int

4 Byte 

-21억 <->  21억 

정수 

 

unsigned int 

Byte 

0      <->  43억 

양의 정수 

 

long

4 Byte 

-21억 <->  21억  

 정수

 

unsigned long

4 Byte 

0      <->  43억  

 양의 정수

 

short

2 Byte  

-32768 <-> 32767 

 정수

 

unsigned long

2 Byte  

0 <->65535 

양의 정수

 

char

1 Byte  

 -128 <-> 127

 문자

 

unsigned char

1 Byte  

0 <->255 

 문자

 

float

4 Byte  

소수 6자리 

 실수

 

double 

8 Byte  

 소수 15자리

 실수

 

bool

1 Byte 

 0,1

 거짓(0), 참(!0)

 0이 아니면 참


위 표가 일반적으로 수식을 할 경우 많이 사용하는 변수들의 목록이다. 

즉, X = Y/Z 일 경우 X는 float 일 수고 있고 int 일수도 있다. 

그러면 프로그래머들은 상위 개념인 float을 이용하여 int도 표현 할 수 있도록 해야한다. 즉 그릇이 작으면 않되니까.


이 표 보다 사실 더 많은 자료형이 있고 64bit OS 에서는 해당 자료형의 크기가  많이 달라집니다.


이제 변수도 알아 봤으니 다음 편은 변수를 이용해서 출력을 해보도록 하겠습니다.        

Posted by 최우림 -=HaeJuK=-

티스토리 툴바