본문 바로가기
혁's 개발/C언어

[C언어] 1. 자료형과 변수

by 혁쿠 2021. 10. 16.

키워드(keyword)

문법적으로 고유한 의미를 갖는 언어로 C언어에서는 auto, int, return 등 32가지가 존재합니다.

식별자(identifiers)

함수, 변수 등에 사용자가 정의한 이름

 

  • 식별자 구성규칙
    • 숫자는 제일 앞에 올 수 없음
    • 대소문자는 구별됨
    • 중간에 공백이 들어갈 수 없음
    • 키워드는 식별자로 사용불가
    • 알파벳과 '_' 만 사용가능

주석(comments)

코드에 전혀 영향이 없는 설명문, 여러 줄으로 주석을 쓸 때는 /*xxx*/, 한줄은 //xxx 이런 식으로 작성합니다.
코드를 보는 자신과 다른 사람이 이해하기 쉽게 주석을 달아주는 것은 굉장히 중요합니다.

자료형

자료형에는 기본형(basic data types), 유도형(derived data types), 사용자 정의형(user defined data types)이 있습니다.기본 자료형

 

  • 정수형: 정수를 표현하는 자료형
    • int: 4바이트이며, 표현범위는 -2^31 ~ 2^31 - 1 (-1을 하는 이유는 0이 포함되기 때문입니다)
    • short: 2바이트이며, 포현범위는 -2^7 ~ 2^7 - 1
    • long long: 8바이트이며, 표현범위는 -2^63 ~ 2^63 - 1
    • unsigned xx: 0과 양수만을 처리하는 정수 자료형, n바이트 자료형의 포현범위는 0 ~ 2^n - 1
  • 부동소수형: 실수를 표현하는 자료형
    • float: 4바이트이며, 유호자릿수는 6~7
    • double: 8바이트이며, 유효자릿수는 15~16
    • 소수는 기본적으로 double으로 인식하기 때문에, float형으로 하려면 1.11F와 같이 선언해야 합니다.
  • 문자형: 문자를 표현하는 자료형
    • char: 1바이트이며, 표현범위는 -128 ~ 127 (문자는 실제 0에서 127까지 사용)
    • unsigned char: 1바이트이며, 표현범위는 0 ~ 255
  • 오버플로(overflow)와 언더플로(underflow)
    • 자료형의 범위에서 벗어난 값을 저장하면 오버플로나 언더플로가 발생합니다.
    • char는 127까지 저장이 가능한데, 128을 저장하려 한다면 0으로 저장됩니다.
    • float 변수에 1.175E-50과 같은 소수점이 너무 많은 숫자를 저장하면 언더플로가 발생해 0이 저장됩니다.

변수

정수와 실수, 문자 등의 자료값을 저장할 공간이 변수(variables)입니다.
변수에는 고유한 이름을 붙이고, 메모리에 저장됩니다.

  • 변수선언(variables declaration): 변수를 사용하려면 사용전에 먼저 변수를 선언하는 과정이 필요합니다. 
    • 변수이름을 정하는 방법에는 camel case, snake case 등 여러 방법이 있으니 참고하시면 좋습니다.
  • int abc; // 자료형(int) 변수명(abc) double a, b, c; // 자료형(double) 변수명(a,b,c) 한번에 여러개의 변수 선언
  • 변수 초기화
      int abc; // 변수 선언, 값을 저장해주지 않으면 처음에 쓰레기값이 저장되어 있습니다.
      abc = 10; // abc에 10이 저장됩니다. int def = 11; // 선언과 초기화를 동시에 가능합니다.

상수(constant)

상수란 값이 정의되면, 프로그램이 실행되는 중에 변하지 않고 계속 유지되는 값을 의미합니다.
크게 분류하면 리터럴 상수(literal constant)와 심볼릭 상수(symbolic constant)로 구분됩니다.

  • 리터럴 상수: 이름이 없는 있는 그대로의 값
    • 정수형, 실수형, 문자, 문자열 상수
    • EX) 10, 011, 0x12, 100u, 101L, 3.14F, 3.15E5, 'A', "C 언어"
  • 심볼릭 상수: 변수처럼 이름을 갖는 상수
    • const 상수: 수정할 수 없는 변수 이름으로 상수 정의, ex)const double PI = 3.14;
    • 매크로 상수: 전처리기 명령어 #define으로 다양한 형태를 정의, ex) #define PI 3.14
    • 열거형 상수: 열거한 상수순으로 0,1,... 저장, ex) enum bool {FALSE, TRUE};

댓글