Programming/C

C언어 2. 변수

Rayched 2022. 7. 27. 15:58

수학에서 변수란 "값이 정해지지 않고 임의의 값을 가질 수 있는 문자"를 의미한다.

프로그래밍에서도 이와 마찬가지로 변수는 특정한 값이 정해지지 않고, 대입을 통해서 값을 언제든지 바꿀 수 있다.


변수 Variable

  • 숫자, 문자와 같은 값들을 저장하는 공간
  • 핸드폰 앱, 게임과 같은 모든 프로그램들은 수많은 변수들로 구성되어 있다.

변수의 정의에 대해선 알았지만 개념적으로 변수란 어떤 것인지를 알아볼 필요가 있다.

변수라는 개념에 대해 이해하기 위해서 간단한 예시를 하나 들어보겠다.

Paul이라는 사람이 한명 있고, 그 사람의 나이와 체중, 키와 같은 정보를 바탕으로

프로그램을 만들어야 한다고 가정해보자.

#include <stdio.h>

int main (void) {
 int age;
 int weight;
 int height;
 //나이, 체중, 키 (age, weight, height)를 저장하는 integer형 변수(정수형 변수) 선언
 
 age = 26;
 weight = 85;
 height = 180;
 //각각 변수에 값을 대입함.
 
 printf("===Paul에 대한 정보===");
 printf("Paul의 나이 : %d", age);
 printf("Paul의 체중 : %d", weight);
 printf("Paul의 키 : %d", height);
 
 return 0;
}

상단의 코드는 변수를 먼저 선언하고, 값을 대입한 형태이다.

코드를 위와 같이 입력하고 프로그램을 실행해보자.

아래와 같은 출력 결과가 나오는 것을 확인할 수 있을 것이다.

변수에 대입한 값이 Console 창에 출력되는 것을 확인할 수 있다.

이번에는 변수 선언과 값을 입력하는 것을 동시에 진행하고, 변수 age에 대입한 값을 바꿔보겠다.

#include <stdio.h>

int main(void) {
 int age = 26;
 int weight = 75;
 int height = 180;

 weight = 85;
 
 printf("===Paul에 대한 정보===");
 printf("Paul의 나이 : %d", age);
 printf("Paul의 체중 : %d", weight);
 printf("Paul의 키 : %d", height);
 
 return 0;
}

위와 같이 코드를 작성하고 프로그램을 실행해보자.

"Paul의 체중 : 85"에 주목해보자.

해당 문장은 변수 weight의 값을 표시해주는 문장이다.

그렇다면 변수 weight의 값은 처음에 설정했던 75가 아니라 다음에 설정한 정수 85로 나왔을까? 

그것에 대한 해답은 처음에 설명했던 변수의 정의와 위에서 작성한 코드를 통해서 확인할 수 있다.

① 변수는 값이 정해지지 않고, 대입을 통해서 언제든지 변경할 수 있다.

② C언어는 절차지향 언어로, 위에서 아래로 작성한 순서대로 프로그램이 실행된다.

따라서 프로그램을 실행했을 때 변수 weight의 값이 왜 85로 입력됐는지를 알 수가 있다.


변수 생성 방법 요약

① 생성할 변수의 자료형을 먼저 정한다.

② 변수의 적절한 이름을 정하고, 선언한다. (예시 age, height, weight 등)

③ '='를 통해서 변수에 값을 대입할 수 있다. ('age = 85'와 같은 형식도 가능)

④ 변수 선언과 값의 입력은 동시에 하는 것이 좋다.

⑤ 변수에 저장된 값은 대입을 통해서 수정하는 것이 가능하다.


변수 선언 규칙

  • 변수는 하나 이상의 글자로 이루어져야 한다.
  • 변수 이름의 첫번째 글자는 문자이거나 '$', '_' 이어야 하고, 두번째 부터는 숫자나 문자, '$', '_'이어야 함.
  • 변수를 작성할 때 '$', '_' 이외의 특수문자는 사용할 수 없다.
  • 변수 명의 길이 제한은 없음