관심쟁이 영호
[C언어기초 1.1] 변수란? 본문
안녕하세요!!
최고왕입니다 ㅎㅎ
이번 시간에는 변수에 대해서 알아볼 예정이에요!
거기에 더 나아가 "컴퓨터라는 물건은 어떻게 변수를 기억하고 있는가?"에 대해서 알아볼 예정이에요!
바로 알아보는 시간을 갖겠습니다!
변 수
먼저 변수의 사전적 의미부터 보겠습니다!
변 수 : 사용자가 원하는 방식으로 자료가 처리되도록 하기 위하여 명령어를 입력할 때 추가하거나 변경하는 수치 정보.
(네이버 표준국어대사전 참조했음!)
사전적 의미로는 위와 같이 나오네요!
음 근데 저렇게 딱딱하게 받아들이는 것은
잘 와 닿지도 않는 것 같아요 ㅋㅋㅋㅋ
제가 비유해서 설명해드리겠습니다!
여러분들은 변수를 하나의 상자로 생각해주시면 좋을 것 같아요!
"하나의 변수가 있다." --> "하나의 상자를 준비했다."라고 해석하시면 편할 것 같네요 ㅋㅋㅋㅋ
프로그래밍 분야로 설명해드리자면
변수라는 상자에다가 값을 넣게 돼요!
값을 넣게 된 다음 이 변수로 여러 가지 작업을 하게 되죠!
그럼 왜 변수가 필요하는가??
우리가 일반적으로 사람 간에 의사소통을 할 때를 생각해봅시다!
여러분이 친구에게 책상 위에 있는 사탕 상자를 달라고 하고 싶은 상황이에요.
그러면 친구에게
"친구야 저기 책상 위에 있는 '사탕 상자'좀 주겠니?"라고 말하시겠죠~?
여기서 사탕 상자를 하나의 변수라고 생각할 수 있어요!
어떤 것을 지칭할 때 쓰인다는 말이에요 ㅋㅋㅋㅋ 알아들으셨으려나..
이 상황과 똑같아요!
컴퓨터에게도 "어떤 값을 가져와!"라고 말하고 싶을 때
지칭을 해야 하지요 ㅋㅋㅋ
이것을 프로그래밍 사진으로 보겠습니다!
사진을 보시면
어떤 말인지 잘 모르시겠죠 ㅠㅠ 저도 처음엔 어려웠어요 ㅎㅎ
위쪽 두줄은 무시하고 아래쪽
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; 이라는 값을 저장할 수 있게 된 거예요!!
변수에 대해서 기본적으로는 알게 된 것 같아요!
흔히 우리가 알던 변수 그거 맞죠? ㅋㅋㅋ
아! 그리고
모든 문장은 아니지만 매문장마다 ; <<라는 세미콜론이 들어가는 이유는
컴퓨터는 사진에 나와있는 문장들의 끝이 어딘지 몰라요 ㅠㅠ
그래서 마지막에 그 문장의 끝이라는 표시를 내주는 세미콜론(;) 넣어주게 돼요!!
이상입니다 ㅎㅎ
오늘은 변수에 대해서 알아봤는데요!
글을 읽어주시는 분들이 이해하셨을까 모르겠네요 ㅠㅠ
혹시나 제가 설명을 잘못했을까 봐 걱정도 되고요.. ㅋㅋㅋ
글을 읽으시다가 모르는 것 혹은 제가 잘못 적어둔 것이 보이신다면
언제든지 댓글로 말씀해주시면 감사하겠습니다!
긴 글 읽어주셔서 진심으로 감사드립니다. ㅎㅎ
최고왕이었습니다!
'학교공부 > C언어의 왕!' 카테고리의 다른 글
[C언어기초 #3.1 함수를 직접만들어보자!] (0) | 2020.02.19 |
---|---|
[C언어기초 #3.0 함수란?] (0) | 2020.02.17 |
[C언어기초 #2.0]반복문에 대해서 알아보자! (0) | 2020.02.15 |
[C언어기초 #1.2]변수개념만으로 응용해보자! (0) | 2019.11.07 |
[C언어기초 # 1.0]C언어 시작해보자! (0) | 2019.10.28 |