Chapter 7. 변수의 선언
안녕하세요, C 프로그래밍 언어 일곱번째 강의입니다.
Chapter 4와 6의 어려운 이론을 헤쳐나오셨나요?
절반 이상 이해를 못하셨어도 무방합니다.
자꾸 같은 단어를 앞으로 마주하게 될테고요. 금방 익숙해질겁니다.
힘내세요, 곧 스스로 코드를 작성하실 겁니다.
오늘은 프로그래밍의 기초 중 기초 변수에 대해 설명하겠습니다.
변수에 대한 개념은 어려운 편이 아니니 80% 이상은 이해하고 넘어가주시길 바랍니다.
컴퓨터 프로그래밍에서의 변수의 사전적 정의 입니다.
한자풀이를 해보자면 변할 변(變)과 셀 수(數)가 만나 만들어진 단어입니다.
쉽게 설명하자면 '언제든 변할 수 있는 값'이라고 이해하시길 바랍니다.
계속 슬라이드를 넘어가 볼까요.
단어 자체를 분석하지 말고, 실제로 어떤곳에 쓰이는 단어인지 살펴보겠습니다.
만약에 제가 컴퓨터를 통하여 "513 + 857" 을 계산하고자 합니다.
컴퓨터는 필연적으로 이 계산을 하기 위해서는 숫자 "513"과 숫자 "857"을 어딘가에 각각 저장을 해야합니다.
그곳이 메모리라는 곳이며, 메모리에 "513"을 저장할 수 있는 공간을 만들어 냅니다.
메모리 공간이란 숫자 "513"이 거주하고는 방(Room)이라고 생각하세요.
마찬가지로 숫자 "857"이 거주하고 있는 방도 만들어냅니다.
그리고 각 방에 이름을 붙여줍니다. "스위트룸", "비지니스룸" ...
이 때, 이러한 이름 혹은 그 방 자체를 가리켜 변수라고 부릅니다.
그리고 실제로 513+857를 하기위해서는 변수를 이용해 그 방을 찾아가 그곳에 있는 값들을 호출해서 덧셈을 합니다.
어렵나요? 반복적으로 다시 설명드립니다.
실제로 C언어에서 변수를 선언해보겠습니다.
int라는 것은 많은 자료형(Data type)중 하나이며, 정수형을 나타낸다고 간단히 설명하겠습니다.
물론 금방 다시 자세히 설명 드리겠습니다.
결론부터 말씀드리자면, int num 이란 "정수(Integer)를 저장하기 위한 공간(방)을 만들 것이고, 그 공간(방) 이름을 num이라고 정하겠다"라는 의미입니다.
즉 선언을 한것입니다.
이해가셨나요?
여러분은 호텔의 주인이며, 정수 형태의 손님을 받기위한 방을 만들었고, 그 방 이름은 num이라고 작명한 것입니다.
자, 방을 만들었으면 손님을 들여보내야겠죠?
변수를 초기화한다는 의미는 비어있는 메모리 공간에 처음으로 실제 값을 대입한다는 뜻입니다.
변수를 num이라는 이름으로 선언을 하였기때문에, 앞으로 이 변수를 num이라고 부르시면, 작성하시면 됩니다.
'num = 5;' 를 살펴볼까요.
'num'은 저희가 정한 변수의 이름이였습니다.
'='이란 대입 연산자입니다. 보통 수학에서는 등위(Equality)표시였지만 C언어에서는 오른쪽에 있는 값을 왼쪽에 대입을 하겠다는 의미입니다.
즉 '=' 오른쪽에 있는 숫자 "5"를 왼쪽의 변수 'num'에게 대입을 하겠다는 대입 연산자입니다.
여러분은 호텔의 주인이며, num이라는 방을 만들었습니다.
이 방은 특별히 정수 형태의 손님을 받기로 하였으니, 정수 "5"라는 손님을 num 방에 넣어주었습니다.
그러면 확인해 볼까요?
Chapter 6에서 공부하였던 printf 함수를 이용하여 확인할 수 있습니다.
num 이라는 변수는 int 형태의 변수이기 때문에 서식 지정자 %d를 이용하여 확인 가능합니다.
함께 시도하는건 이후 슬라이드에서 한꺼번에 하겠습니다.
위에서는 변수의 선언과 초기화를 각각 하였습니다.
하지만 슬라이드와 같이 선언과 초기화를 동시에 할 수도 있습니다.
정수(Integer)를 저장하기 위한 공간을 만들고 그 이름을 num이라고 정하고, 대입 연산자 '='를 통해 '10'이라는 값을 공간 안에 넣었습니다.
참 쉽죠?
한번에 여러 변수를 선언할 수도 있습니다.
쉼표(,)를 이용하였습니다.
물론 초기화도 한번에 여러 변수를 할 수 있습니다.
자, 이제 진짜 실습을 해보실까요?
변수 2개는 선언만 해보시고, 변수 1개는 선언과 초기화를 동시에 해보세요.
그리고 앞에서 선언하였던 변수에 값을 넣어보시고, printf 함수를 이용하여 출력해보세요.
변수의 이름을 짓는것도 참 까다롭답니다.
사실 프로그래밍에서 가장 힘든 작업은 작명입니다.
앞으로 매우 많은 변수를 사용하게 될 것이고, 그 변수마다 이름을 붙여주어야합니다.
그 변수들은 계속해서 사용되기 때문에 각각 특성에 맞는 이름을 붙여주어야합니다.
나이와 관련된 값을 저장하고 싶으시면 Age 혹은 age 혹은 AGE 등등 여러가지 사용자가 원하는 형태가 있겠죠?
이전부터 쓰이던 규칙을 살펴보겠습니다.
우선 변수의 이름은 알파벳, 숫자, 언더바(_) 밖에 사용하지 못합니다.
또한 AGE와 age는 엄연히 다른 변수 이름입니다.
C언어에서는 변수이름을 123num 과 같이 숫자로 시작할 수 없습니다.
My age 와 같이 공백이 들어갈 수 없습니다.
앞으로 예시로 주어지는 소스코드들의 변수 이름을 보면서 대략적으로 많이 사용하는 변수 이름을 익혀보세요.
단, Visual Studio 2017은 한글 변수이름을 완벽하게 지원합니다!
하지만 권장하지 않습니다. 프로그래밍 언어 C는 모든 나라의 사용자, 개발자가 공유하며 사용하는 언어입니다.
한국 사람만 알아볼 수 있는 변수이름을 이용하지말고, 영어로 변수 이름을 만드는것을 익혀봅시다.