본문 바로가기
··· ETC ···

프로그래밍상식 변수란 무엇일까?

by TLIP 2017. 5. 19.

1. 컴퓨터내에서 데이터 표현

 

 사람은 수많은 기호와 음성, 문자 등으로 데이터를 표현을 하는데 과학자들이 계산기나 컴퓨터를 만들면서 데이터 처리를 어떻게 하지?라는

 

고민하게 되었는데 이게 간단하게 0, 1로 해결하게 되었다. 다시말해 전기 신호가 들어오면 1이라는 값이고 전기신호가 없으면 0이라는 것으로 정의 내린다.

 

이러한 전기신호를 가지고 데이터표현을 하게 되었다.


 

2. 메모리구조

 

이러한 데이터를 처리하는데 기억하고 있어야 하잖아 그래서 플립플롭 -> 레지스터 -> 메모리 등이 개발되게 되었다.

 

메모리 구조는 0, 1을 저장하려고 1개의 공간(bit)1열로 나열한것을 주소를 주어 관리하게 되었다.


 


 

이런식으로 여러개의 bit를 하나로 묶고 주소값을 주게 되었고, 우리가 메모리값 4기가 8기가 16기가는 메모리 주소값의 갯수라고 생각하면 된다.

 

메모리 주소값은 32비트 컴퓨터에서 길이는 4비트씩잘라서 8개있다고 생각하면 0x00000000 에서 0xFFFFFFFF까지 있다고 볼 수 있다.

 

이렇게 된 주소가 2^32 = 4기가로 볼 수 있지. 그래서 32비트 운영체제에서는 최대 4기가 밖에 지원을 안한다.

 

(이론상 64비트는 2^64 = 18.4엑사바이트를 까지 가능한데 64비트 윈도10 엔터프라이즈 기준으로 2테라바이트)

 

예를 들어 4기가 메모리는 1개의 워드(2바이트, 16개비트)1개의 주소를 매칭시킨것이 2^32개 있다고 생각하면 된다.


 

3. 자료형

 

현실세계에서는 정수, 실수, 문자 등이 있는 것을 0, 1로 표현하는 메모리공간에 어떻게 저장하고 구분하는가를 나타낸거라 할 수 있다.

 

예를 들어 우리는 숫자 65을 눈으로 보면 알수 있지만 컴퓨터는 이게 정수 65인지 'A'알 수가 없다. 그래서 메모리에 저장된 데이터를 알수 있게 구분한게

 

자료형이다.

 

C언에서는 자료형을 아래와 같이 정리 할 수 있다.




4. 변수

 

변수란 우리가 아까 알아본 메모리 공간을 보다 쉽게 접근 할 수 있게 주소값이 아닌 어느 한 주소에 이름을 붙여서 사용하는 것이다.

 

C언어에서는 변수를 선언 하려면

 

자료형 변수명;

 

이런식으로 변수를 선언하지. 예를 들어 우리가 12를 더한 값을 알고 싶다고 치면

 

int num1 = 1;

int num2 = 2;

printf("12의 합은 %d", num1 + num2);

 

결과 : 12의 합은 3

 

이런식으로 해서 사용한다.


사람이 일일이 비워있는 메모리 공간을 찾고, 그 주소에 데이터를 입력하는건 어려우니깐 메모리 빈공간을 찾아주는건

 

운영체제가 해주는 거고 운영체제가 준 메모리 주소에다가 의미있게 이름을 부여하여 우리가 쉽게 쓰려고 하는 것이다.

 

반응형

댓글