본문 바로가기
프로그래밍언어/C언어

변수 선언하기 - 데이터

by J코딩 2021. 8. 25.
반응형

앞에서 변수는 데이터를 저장하는 메모리 공간이라고 했습니다. 즉, 변수에는 데이터를 저장하게 됩니다. 그럼 데이터는 무엇인가? 변수에 저장되는 값이 데이터입니다.

데이터는 여러분이 즐겨 하는 계산기의 숫자와 사칙연산 기호, 네이버 사이트의 id와 비밀번호 등 다양한 것이 될 수 있습니다. 그리고 데이터는 숫자가 될 수도 있고, 문자도 될 수 있습니다.

위 그림에서 데이터는 어떤 의미를 가질까? 변수 안에 담긴 값을 의미합니다. 변수 입장에서는 숫자와 문자를 저장해야 할 데이터로 인식합니다. 이렇게 데이터를 저장하기 위해서는 메모리 공간 즉, 변수가 꼭 필요합니다.

 

이제 예제를 보면서 이해해 보겠습니다.

먼저 오른쪽의 실행 결과를 보면 0과 16이라는 이상한 값들이 나옵니다. 왜 이런 의미 없는 값이 출력되는 걸까요? 4행과 6행에서 변수 a와 변수 b를 만들고, 그 후에 변수에 데이터를 초기화하지 않아서입니다. 초기화란? a변수와 b변수에 제일 처음 담기는 값을 의미합니다. 즉, 컴퓨팅 세계에서는 변수(메모리 공간)에 초기화가 필요합니다.

 

9행과 11행은 변수 a와 b에 저장된 값을 출력합니다. 이들 변수에 저장된 값이 없어서 변수를 출력하면 아무 의미 없는 값이 결과로 출력되는 것입니다.

 

다음 그림을 보겠습니다. 실제로 어떤 식으로 메모리 공간(변수)에 데이터를 저장하는지 알아보겠습니다.

 

여기서 왼쪽 can, plastic, paper는 분리수거의 종류이며, a, b, c는 각 분리수거함의 이름이며, 각 분리수거함에는 종류에 맞는 분리수거가 저장이 됩니다. 이것을 컴퓨팅 세계에서는 오른쪽 int, float은 데이터의 종류이며, a, b는 각 데이터 종류의 이름이며, 각 변수에는 종류에 맞는 값이 저장됩니다.

 

다음 그림은 실제로 어떤 식으로 메모리 공간에 있는 데이터를 출력되는지 알아보겠습니다.

왼쪽처럼 단순하게 a, b, c를 하면 각 분리수거함에 있는 종류가 밖으로 출력이 됩니다. 이것을 컴퓨팅 세계에서도 마찬가지로 단순하게 a, b를 하면 각 변수에 저장되어 있는 값이 밖으로 출력이 됩니다.

 

이를 확인하는 예제를 보겠습니다.

11행과 12행에서 이전 예제와 다르게 변수 a와 b에 데이터를 초기화하고 있습니다. 특히 변수 a에 데이터 10을 저장하고, 변수 b에 데이터 3.14를 저장하고 있습니다. 그리고 14행에서 a변수에 저장된 데이터를 10진수로 출력하고, 15행에서 b변수에 저장된 데이터를 실수로 출력하고 있습니다.

반응형

댓글