본문 바로가기
IT 배우기/C,C++

03. 상수와 변수

by To올라운더 2023. 10. 5.
반응형

python에서 배운 상수와 변수의 개념은 같다.

다만 몇가지 차이가 있어 해당 내용을 짚고 넘어가겠다.

 

1. 상수(Constant)

 - 고정적인 값을 사용할 때 사용하는 값으로 고정되는 값에 따라, 정수형, 실수형, 문자형으로 구분할 수 있다.

 

 - 상수를 선언할 때에는 python과 달리 어떤 형태의 자료를 입력할지도 알려주어야 하는데, 

   [const + 자료형 + 상수명 = 상수 값;] 으로 구성된다. 

   ( * [자료형 + const + 상수명 = 상수 값;] 으로 선언해도 정상 동작이 가능하다.)

 

 - python을 다루던 우리에게 자료형을 선언하는 건 익숙하지 않은 과정이지만,

   미리 자료형을 선언하기 때문에 차후 잘못된 자료형으로 인한 오류를 사전에 막을 수 있고,

   자료형별로 사용가능한 메모리 할당량이 다르기 때문에 최소값과 최대값이라는 제한사항도 발생하게 된다.

   (* 해당 내용은 다음 포스팅으로 작성해볼 예정이다.)

 

  - 또 python과 달리 char(문자형) 상수의 경우, 영문 1글자만을 허용할 수 있는데(한글 미지원), 이 또한 아스키코드라는 방식으로 문자를 나타내기 때문이다.

   (* 해당 내용도 별도의 포스팅으로 작성 예정이다.) 

#include <stdio.h>

int main(void)

{
    
    const int year = 2023; // 정수형 상수
    const float pi = 3.14; // 실수형 상수
    const char program_lan = 'C'; // 문자형 상수

    printf("올해는 %d년입니다.\n", year);
    printf("파이 값은 %0.2f 입니다.\n", pi);
    printf("나는 %c언어를 배우는 중입니다.\n", program_lan);
    

    return 0;
}

 

 - 고정값인 만큼 프로그램 중간에 수정이 불가하다.(수정시 에러 발생)

 - 변수의 경우 처음 선언 시 상수 값이 없어도 되지만, 상수의 경우 상수 값이 없으면 에러가 발생한다.

// 변수의 경우,
// 방법 1. 선언과 동시에 초기값 할당(가능)
int a = 10;
// 방법 2. 선언 후, 초기값 할당(가능)
int a;
a= 10;

// 상수의 경우,
// 방법 1. 선언과 동시에 초기값 할당만 가능
const int a = 10;
// 방법 2. 선언 후, 초기값 할당 불가
const int a; // 에러 발생
a= 10;
반응형

 

2. 변수(Variable)

 - python의 변수와 같은 개념으로 데이터를 저장할 수 있는 공간을 확보한 상태라고 생각해도 좋다.

   확보된 공간에 우리가 원하는 값을 저장하거나 수정하면서 원하는 데이터의 값을 유지할 수 있다.

 

 - 기본적인 변수에 대한 추가적인 설명을 더하면, 프로그램에서 변경되지 않고 고정적인 값은 상수를 이용하고,

   상황에 따라 변경되는 값은 변수를 이용한다.

 

 - 변수를 선언할 때에는 상수에서 사용했던 구조에서 const만 제거 하면 된다.

  [ 자료형 + 변수명 = 변수값; ] 의 형태를 가진다.

  (*자료형과 변수명만 먼저 선언하고, 이후 변수 값을 할당할 수도 있다.)

#include <stdio.h>

int main(void)

{
    
    int year = 2023; // 정수형 변수
    float increase__per = 1.25; // 실수형 변수
    char seat_char = 'D'; // 문자형 변수

    printf("올해는 %d년입니다.\n", year);
    printf("올해 연봉인상율은 %0.2f 입니다.\n", increase__per);
    printf("예약된 좌석은 %c열 입니다.\n", seat_char);
    
    printf("*********변수 값 변경*********\n");
    year = 2024;
    printf("내년은 %d년입니다.\n", year);

    increase__per = 1.5;
    printf("올해 연봉인상율은 %0.2f 입니다.\n", increase__per);
    
    seat_char = 'F';
    printf("예약된 좌석은 %c열 입니다.\n", seat_char);

    return 0;
}

 - 가장 큰 특징은 7~9 라인에 선언된 각각의 변수를 코드를 진행하는 동안 변경하여 결과 값을 바꿀 수 있다는 것이다.

 

3. 자료형 미리보기

  - 위의 printf 함수를 살펴보면 사용되는 자료형에 따라 %d, %f, %c 등 형태가 바뀌는 것에 의문을 가지는 분들이 있을 것이다.

 

 - 상수(또는 변수)의 자료형에 맞춰 작성을 해야 내가 원하는 결과를 나타낼 수가 있는데, 다음 포스팅에는 자료형에 대한 설명과 자료형에 따른 제한 값(최대, 최소값) 등을 알아볼 예정이다.

반응형

'IT 배우기 > C,C++' 카테고리의 다른 글

04. 자료형(정수형)  (1) 2023.10.06
02. 주석  (1) 2023.10.04
01. 기본구조(Hello, World)  (0) 2023.10.04
0. 환경 셋팅하기(Visual Studio Code)  (0) 2023.10.03
이제 진짜 Hello, World 다.  (0) 2023.10.02