[KOCW 한국산업기술대학교 박정민 교수님] C 프로그래밍 4강

MinWoo Park·2021년 8월 19일
0

KOCW

목록 보기
4/19
post-thumbnail

Part4 상수란 무엇인가


4.1 상수란?

  • 프로그램 실행 도중 값이 변경되지 앟는 데이터

4.2 리터럴 상수와 심볼릭 상수

리터럴(Literal) 상수: 글자 그대로의 의미가 있어서 이름이 없는 상수

  • 정수형 상수: 소수점 포함되지 않은 상수, 10진수, 16진수, 8진수의 형태로 표현
    16진수는 0x를 8진수는 0을 사용하여 정수형 숫자를 구분
    ex) 10진수: 10 16진수: 0x10, 8진수: 010

  • 실수형 상수: 소수점 포함된 상수, 서식 문자 %lf 사용

  • 문자 상수: 작은따옴표로 묶인 문자 하나를 뜻함. 'a', 'b', 'c', '!', '@' 처럼 키보드로 표현할 수 있는 영문자, 숫자, 특수 기호
    문자가 상수인 이유는 컴퓨터는 문자를 이해할 수 없기에 각 문자마다 상수 값으로 맵핑이 되어있음. 이러한 코드를 ASCII 코드라고 함.

  • 문자열 상수: 큰따옴표로 묶은 하나 이상의 문자로 구성된 문자열, 컴파일러는 큰따옴표로 묶은 문자열 상수를 저장할 때 문자열 상수 맨 마지막에 문자열의 끝을 알리는 종료 문자 ₩0(10진수의 0을 의미)를 자동으로 추가함. NULL 문자라고 함.
    그래서 'A'와 "A"를 비교한다면 같은 문자 하나지만 큰따옴표로 만든 문자는 NULL 문자 때문에 문자열 상수가 됨.

심볼릭(Symbolice) 상수: 상수를 기호화하여 변수처럼 이름을 지어 쓰는 상수, 대문자로 표기하는 것이 좋음

  • const 키워드 이용하기:
const 변수명 = 초깃값
  • #define 문을 이용하기:
#define 변수명 초깃값
  • #define 문은 전처리기(컴파일러가 소스파일 컴파일하기 전에 먼저 수행)에서 수행되는 문장, 여러 번 사용되는 상수 값을 매크로 상수로 정의해서 사용
  • 선언과 동시에 반드시 초기화를 해야 함. 왜냐하면 초기화하지 않은 상태에서 선언하면 garbage value가 상수화 되버리기 때문.

Reference
강의: 박정민, 『C 프로그래밍』, KOCW 한국산업기술대학교, 2강
교재: 박정민, 『열혈강의 C 언어 본색 명강의가 일으키는 C 언어 기적』, 프리렉 (2011), p74-88.

profile
물음표를 느낌표로 바꾸는 순간을 사랑하는 개발자입니다.

0개의 댓글