본문 바로가기
c언어

c언어의 기본 형태와 구성 알아보기 3(변수)

by 개발자 L 2022. 11. 27.
반응형

c언어의 기본 형태와 구성 알아보기 3(변수)

네 안녕하세요, 이번 포스팅에서는 c언어에서 빠질 수 없는 요소 중 하나인 변수에 대하여 알아보는 시간을 가져보도록 하겠습니다.

변수는 우리가 어떤 자료(데이터)를 받을 때 일시적으로 저장하기 위해 사용하는 메모리예요.

그래서 변수는 계속해서 바뀌는 데이터이므로, 우리가 어떤 자료를 넣을 때마다 값이 시시각각으로 바뀐다는 특징이 있지요.

그리고 우리가 받으려는 자료형의 형태에 따라 변수의 선언 형태 역시 달라지게 된답니다.

그러면 지금부터 같이 알아보도록 할까요?

 

1. 변수의 특징

변수는 앞서 말씀드렸듯이 자료형의 형태에 따라서 선언하는 형태가 다 달라요.

예를 들어 정수형이면 정수형 변수가 있고, 실수형이면 실수형 변수가 있고, 문자형이면 문자형 변수가 있습니다.

그럼 이들을 어떻게 쓰는지 간단히 살펴볼까요?

변수의 표준 자료형
정수형 실수형 문자형
short(16비트) float(32비트) char(8비트)
int(32비트) double(64비트)
long(64비트) long double(64비트)
long long(64비트)  

보통 크게 이런 식으로 많이 쓰곤 합니다.

그리고 받는 형태에 따라서 바이트 수도 상이하여 파일의 용량의 크기도 달라집니다.

그리고 이 변수들은 프로그램이 몸 부분에서 변수를 사용하기 전에 선언을 하여야만 사용이 가능합니다.

그 이유는 우리가 특정한 형태의 자료를 받을 때 어떤 형태로 받을 건지 선언을 해야 한다고 했죠?

그래서 그걸 먼저 선언을 하고 알려줘야지 나중에 파일을 실행하기 전 컴파일 등을 할 때 컴파일러에게

"나 이거 사용할 거야~" 하고 알려줄 수 있어서 오류가 나지 않으니 주의하셔야 합니다.

 

2. 변수에 이름 짓기

변수는 무조건 이름이 있어야 합니다.

그 이유는 변수의 이름은 식별자로써의 역할을 하기 때문입니다.

다시 말하면 우리가 사람 이름으로 사람을 식별하듯이, 변수들도 이름이 있어야 식별이 가능하다는 뜻입니다.

그래서 식별자를 만들 때는 일련의 규칙이 있습니다.

  • 식별자는 영문자와 숫자, 그리고 언더바(_)로 이루어져 있다.
  • 식별자의 중간에 공백이 들어가면 안 되며, 대신에 언더바(_)로 공백을 잇는다.
  • 식별자의 첫 문자는 반드시 영문자 또는 언더바(_)로 시작되는 것이 국룰이다.
  • 대소문자를 구분하므로, 똑같은 문자를 쳤는데 대소문자가 다르다면 그 둘은 엄연히 다른 변수로 취급이 된다.
  • c언어의 키워드(함수, 자료형 선언문 등)와 똑같은 이름을 가진 식별자는 인식할 수 없으므로 취급하지 않는다.

여기에서 키워드란, 우리가 앞으로 다룰 여러 가지 함수의 이름, 그리고 조건문 등이 여기에 해당이 됩니다.

그 부분들에 대한 것들은 추후에 다룰 예정입니다.

그래서 우리가 변수의 이름을 지을 때는 이 규칙에 어긋나서는 안되며,

좋은 변수의 이름은 우리가 한눈에 봤을 때 바로 직관적으로 이해를 할 수 있는 이름이 가장 좋습니다.

그 이유는 우리가 유지 및 보수를 할 때 어디에 문제가 있으며, 더 좋은 방향의 개선이 필요한 부분을 한 번에 찾을 수 있어

가독성이 매우 높아지기 때문입니다.

반응형

 

3. 변수의 초기화

변수는 선언이 되면 그 자리에서 바로 초기화를 시킬 수도 있고, 나중에 선언을 할 수도 있습니다.

몇 가지 예시를 통해 같이 보실까요?

// 그 자리에서 바로 초기화시키기

int x = 10;
int y = 20;
int sum = 0;

//변수 선언 후 따로 초기화 시키기

int x;
int y;
int sum;

x = 10;
y = 20;
sum = x + y;

// 피해야 하거나 오류가 생기는 변수 선언

int width = 100; height = 200; // 문법적으로는 오류가 아니지만 혼동이 생길 수 있으므로 되도록이면 피해주는 것이 맞음.

int width, height = 200; // width 값이 초기화가 되지 않고 height 값만 200으로 초기화가 되므로 에러가 난다.

이런 식으로 선언을 한 자리에서 어떤 것으로 초기값을 선언하겠다며 초기화를 할 수도 있고,

일단 변수만 선언을 해두고 상황에 따라 초기화를 할 수도 있습니다.

그리고 아래의 두 경우는 저렇게 쓰면 안 됩니다.

그 이유는 위의 경우는 문법적으로는 오류가 없는 게 맞지만, 가독성도 떨어지고, 나중에 소스코드가 더러워서

혼동이 생길 수도 있고,

밑의 경우는 글만 보았을 때는 두 변수가 다 200으로 초기화가 된 것 같지만, 실제로는 width의 값은 선언이 되어있지 않아

어디에서도 찾아볼 수 없으며, height의 값만 200으로 초기화가 되어서 에러가 납니다.

그래서 아래의 두 가지 방법은 절대 써서는 안 되는 방법이므로 주의가 필요합니다.

 

다음 시간에는 우리가 c언어에서 수식을 세우고 연산을 어떤 식으로 처리를 하는지에 대하여 알아보는 시간을 가져보도록 하겠습니다.

긴 글 읽어주신 독자분들께 진심으로 감사합니다 ~

반응형

댓글