관심쟁이 영호

[C언어기초 1.1] 변수란? 본문

학교공부/C언어의 왕!

[C언어기초 1.1] 변수란?

관심쟁이 영호 2019. 10. 29. 19:34
반응형

안녕하세요!! 

 

최고왕입니다 ㅎㅎ

 

이번 시간에는 변수에 대해서 알아볼 예정이에요!

 

거기에 더 나아가 "컴퓨터라는 물건은 어떻게 변수를 기억하고 있는가?"에 대해서 알아볼 예정이에요!

 

바로 알아보는 시간을 갖겠습니다!

 


 변 수

먼저 변수의 사전적 의미부터 보겠습니다!

 

변 수 : 사용자가 원하는 방식으로 자료가 처리되도록 하기 위하여 명령어를 입력할  추가하거나 변경하는 수치 정보.

(네이버 표준국어대사전 참조했음!)

 

사전적 의미로는 위와 같이 나오네요!

 

음 근데 저렇게 딱딱하게 받아들이는 것은

 

잘 와 닿지도 않는 것 같아요 ㅋㅋㅋㅋ

 

제가 비유해서 설명해드리겠습니다!

 

여러분들은 변수를 하나의 상자로 생각해주시면 좋을 것 같아요!

 

"하나의 변수가 있다." --> "하나의 상자를 준비했다."라고 해석하시면 편할 것 같네요 ㅋㅋㅋㅋ

 

프로그래밍 분야로 설명해드리자면

 

변수라는 상자에다가 값을 넣게 돼요!

 

값을 넣게 된 다음 이 변수로 여러 가지 작업을 하게 되죠!

 

그럼 왜 변수가 필요하는가??

 

우리가 일반적으로 사람 간에 의사소통을 할 때를 생각해봅시다!

 

여러분이 친구에게 책상 위에 있는 사탕 상자를 달라고 하고 싶은 상황이에요.

 

그러면 친구에게

 

"친구야 저기 책상 위에 있는 '사탕 상자'좀 주겠니?"라고 말하시겠죠~?

 

여기서 사탕 상자를 하나의 변수라고 생각할 수 있어요!

 

어떤 것을 지칭할 때  쓰인다는 말이에요 ㅋㅋㅋㅋ 알아들으셨으려나..

 

이 상황과 똑같아요!

 

컴퓨터에게도 "어떤 값을 가져와!"라고 말하고 싶을 때

 

지칭을 해야 하지요 ㅋㅋㅋ

 

이것을 프로그래밍 사진으로 보겠습니다!

 

사진을 보시면

 

어떤 말인지 잘 모르시겠죠 ㅠㅠ 저도 처음엔 어려웠어요 ㅎㅎ

 

위쪽 두줄은 무시하고 아래쪽

 

int a부분부터 볼게요!

 

이게 무슨 말이냐면 컴퓨터는

 

int a;  ------> 이것을 int타입의 값이 들어가는 a라는 상자를 만들어라!

 

라고 받아들여요.

 

int b; int c; 도 마찬가지로 b와 c의 상자를 준비해뒀어요!

 

그다음!

 

a = 1;

 

이렇게 표현을 했는데

 

a라는 상자 안에 int타입인 값 1을 넣어주었어요!

 

이것을 사탕 상자와 비교하면

 

1이 들어있는 상자 == 사탕이 들어있는 상자

 

이렇게 되는 거죠!

 

b = 2; 또한 같은 뜻이지요!

 

하지만 우리는 여기서 응용하여 추가적인 작업까지 할 수 있게 되었어요!

 

c = a + b; 이 부분에서 알 수 있죠!

 

그럼 c라는 상자는 무엇일까요!?

 

c라는 상자는

 

"a상자 안의 값 + b상자 안의 값"이라고 말할 수 있어요!

 

결론적으로 c라는 상자 안에는 1 + 2의 결괏값인 "3"이 될 테지요?

 

이것이 변수예요!!

 

그럼 여기서

 

 

 

위의 사진과 같이 a = 1;이라고 하고 밑에 a = 10;이라고 새로 쓰면 어떻게 될까요?

 

당연히 컴퓨터는 1의 값 ------> 10의 값을 갖게 될 거예요 ㅎㅎ

 

a라는 상자는 변함없지만 a라는 상자 안에 값이 변하게 되죠!

 

바로 이게 변수예요!

 

너무 쉽죠!?

 

그럼 여기서 조금 더 세부적으로 들어가 보겠습니다!

 

 컴퓨터라는 물건은

 

int a;라고 하면 메모리에 a상자의 구역을 준비하게 됩니다!

 

아직 a구역에 값을 넣지 않았기 때문에 구역에는 아무것도 안 들어있게 되겠죠!

(대부분 프로그램에 대체적으로 기본 설정이 있기 때문에 이 경우에는 높은 확률로 0이 들어가게 됩니다!)

 

그다음 

 

a = 1;이라는 작업을 해주게 됩니다!

 

그럼 컴퓨터는 1이라는 값을 준비해둔 구역에 넣게 되죠 ㅎㅎ

 

그렇게 a = 1; 이라는 값을 저장할 수 있게 된 거예요!!

 

변수에 대해서 기본적으로는 알게 된 것 같아요!

 

흔히 우리가 알던 변수 그거 맞죠? ㅋㅋㅋ

 

아! 그리고 

 

모든 문장은 아니지만 매문장마다 ; <<라는 세미콜론이 들어가는 이유는

 

컴퓨터는 사진에 나와있는 문장들의 끝이 어딘지 몰라요 ㅠㅠ

 

그래서 마지막에 그 문장의 끝이라는 표시를 내주는 세미콜론(;) 넣어주게 돼요!!

 

이상입니다 ㅎㅎ

 


오늘은 변수에 대해서 알아봤는데요!

 

글을 읽어주시는 분들이 이해하셨을까 모르겠네요 ㅠㅠ

 

혹시나 제가 설명을 잘못했을까 봐 걱정도 되고요.. ㅋㅋㅋ

 

글을 읽으시다가 모르는 것 혹은 제가 잘못 적어둔 것이 보이신다면

 

언제든지 댓글로 말씀해주시면 감사하겠습니다!

 

긴 글 읽어주셔서 진심으로 감사드립니다. ㅎㅎ

 

최고왕이었습니다!

300x250
Comments