상수(const) 선언

김현지·2023년 7월 15일

C언어

목록 보기
1/3

변수를 지정할 때 앞에 "const"를 붙여주면 상수로 선언이 된다.

int age = 10

이건 a가 변수로 선언이 된 것이고

const double SPEEDOFLIGHT= 1.86;

이건 앞에 const가 붙은 데다가 대문자로 이름이 작성되어 상수라고 볼 수 있다.
참고로 대문자로 적지 않아도 오류는 나지 않지만 상수 => 대문자로 작성 이라는 암묵적인 룰이 있으니 이것 또한 지켜주도록 하자.

여기까지가 상수에 대한 간략한 설명이었고 코드카데미 문제를 푸는데 막힌 부분이 있었다.

#include <stdio.h>
int main() {
const double SPEEDOFLIGHT;
int timeTraveledInSeconds = 30;
SPEEDOFLIGHT = 1.86;
printf("Light would travel %.2f miles in %d seconds\n", SPEEDOFLIGHT 100000 timeTraveledInSeconds, timeTraveledInSeconds);
}

라는 코드에서 상수 오류를 찾으라는 아주 간단한 문제였는데 첨엔 뭐가 문제지?? 라고 생각하며 찾지 못했다.
그렇게 이리저리 만져보다가 SPEEDOFLIGHT = 1.86; 줄을 지우고 const double SPEEDOFLIGHT = 1.86; 라고 한 줄로 합쳤더니 코드가 정상 작동이 되었다.

상수는 변할수가 없으니 한 줄로 써서 아예 못을 박아두는 것이다. SPEEDOFLIGHT는 1.86으로 고정이야! 하고 말이다.

오늘의 상식 : const 상수 작성은 한 줄로 써야한다.

0개의 댓글