본문 바로가기
IT/C언어

C언어 <변수>

by 세계 최고의 AI Engineer_naknak 2023. 1. 16.

<자료형>

 

C언어는 'A' 는 65와 같은 값을 나타낸다.

즉, printf( "%d : "%d", 65, 'A' ); 하면 똑같이 A를 출력한다.

 

C언어는 메모리에 값을 저장하기 위한 데이터의 종류를 4가지 크기로 처리합니다.

단순한 만큼 성능이 뛰어날 수밖에 없지만 모든 데이터를 4가지 크기로 처리하기 때문에 프로그래머가 해야할 작업량이 늘어난다는 특징을 가지고 있습니다.

 

잠시 CPU 이야기를 하겠습니다.

CPU는 메모리에서 값을 읽어옵니다. 이때 값을 레지스터로 읽어옵니다. 레지스터는 크기가 4바이트로 고정되어 있기 때문에 4바이트 안팎의 데이터 값을 불러올 떄 비효율적인 성능을 일으킬 수 있습니다. 

From learncomputerscienceonline.com

 

4바이트가 레지스터를 효률적으로 사용할 수 있는 메모리 영역입니다.

레지스터를 효율적으로 사용할 수 있는 방법은 4바이트의 영역을 계승하는 것입니다. 

16비트 는 4바이트 영역 즉, 레지스터를 2개 사용하는 기술을 이용할 수 있기 때문에 효율적이다고 할 수 있습니다.

그래서 레지스터를 낭비하지 않기 위해서 2바이트나 4바이트로 메모리를 사용할 수 있게 할당합니다.

32비트 운영체제, 64비트 운영체제가 좋은 예시라고 할 수 있겠습니다.

 

C언어의 기본 자료형은 char short int long / long long (정수형) 

float double long double (정수형) 이 있습니다. 이외에도 있긴하지만 인터넷에 많은 자료가 이미 있기 때문에 자세한 것은 생략하도록 하겠습니다.

다만, 자료형은 각각 할당 받을 수 있는 범위가 정해져 있습니다. 이 범위를 초과하면 overflow(오버플로우), 낮은 값을 넣어줄 경우 underflow(언더플로우) 가 발생합니다.

 

<변수>

변수란 무엇일까요? 

정말 간단하게 말하면 변수란 어떤 값을 담아 둘 수 있는 물통이라고 생각하시면 됩니다. 무언가를 담아 놓고 필요하면 마시고 필요 없으면 버리고, 혹은 다른 것을 채워서 다시 사용할 수 있는 물통말입니다. 

변수에 대한 비유는 굉장히 다양하니 이렇게 생각하는 사람도 있구나. 하고 넘겨주시면 좋을 거 같습니다.

 

컴퓨터 입장에서 생각해보자면 변수란 어떤 값을 저장하는 공간. 이라고 생각할 수 있겠네요. 그리고 그 저장공간은 하드웨어에 있는 메모리일 가능성이 굉장히 크겠죠? 

메모리는 상당히 복잡하고 거대합니다. 아무대나 저장하면 나중에 찾아 쓸 때 곤란해 지겠죠?

그래서  컴퓨터는 메모리 영역에 대한 주소에 값을 저장시켜 줍니다.

떠도는 사진의 저작권 고려가 귀찮아서 급하게 만든 메모리에 저장된 데이터 그림

네 쉽게 말해서 메모리 안에 있는 게 값이고 저 주소를 통해서 값을 사용합니다. 

다만 프로그래머들이 0x10을 보면서 작업하기 어렵기 때문에 .C언어에서는 변수라는 녀석을 통해서 컴퓨터와 소통할 수 있게 한 것입니다. 따라서 변수는 메모리 영역의 일부를 가리킨다고 할 수 있습니다. 결국 변수는 자료형과 함께 사용 되야 하고 자료형이 가진 크기만큼의 메모리 영역을 "변수"라고 부를 수 있습니다.

 

int N  = 10;

 

변수 선언에 대한 예시는 인터넷에 많습니다. 저는 친절하지 않답니다...ㅠ

위에 있는 코드는 변수 선언에 대한 대표적 예시입니다. 

int - 자료형 입니다.

N - 변수명입니다.

10 - 변수에 담을 값입니다.

; - 모든 코드 끝에 들어가는 약속 입니다. (코드가 끝났다는 뜻입니다)

 

네, 지금까지 자료형과 변수명에 대해서 알아봤습니다.

다음 글은 연산자와 제어문에 대한 내용으로 다시 찾아오겠습니다.

 

http://www.yes24.com/Product/Goods/374187

 

알고리즘과 함께 하는 C의 아름다움 - YES24

이 책은 이론 위주의 일반 C서적과는 달리 실제 코드 위주로 구성되어 있으며 이론은 핵심적인 부분만 추려 놓았다. 또한 기존 책들에서 보여주던 단편적인 문제들로부터 벗어난 실제로 사용가

www.yes24.com

 

'IT > C언어' 카테고리의 다른 글

<C언어> 역사, 탄생 배경 등 정리 -기본편 1  (0) 2023.03.21
C, 세상에서 가장 아름다운 언어  (0) 2023.01.12

댓글