Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어의 토큰(Tokens) 완벽 정리: 키워드, 식별자, 문자열


토큰(Token)은 프로그램을 구성하는 가장 작은 단위 요소로, 컴파일러가 의미 있게 해석하는 기본 구성 요소입니다. C 언어의 소스 코드는 이러한 토큰들이 모여 이루어지며, 컴파일러는 토큰 단위로 코드를 분석합니다.

토큰의 주요 종류는 다음과 같습니다.

  • 키워드(Keywords)
  • 식별자(Identifiers)
  • 상수(Constants)
  • 문자열(Strings)
  • 연산자(Operators)

그럼 하나씩 자세히 살펴보겠습니다.

키워드(Keywords)

키워드는 C 언어에서 미리 정의된 예약어(reserved word)로, 각각 고유한 기능과 역할이 부여되어 있습니다. 키워드를 통해 C 언어가 제공하는 다양한 기능을 사용할 수 있으며, 컴파일러는 이 단어들에 대해 특별한 의미로 해석하기 때문에 프로그래머가 임의로 사용할 수 없습니다.

C89(ANSI C) 표준 기준으로 C 언어에는 총 32개의 키워드가 있습니다.

autodoubleintstruct
breakelselongswitch
caseenumregistertypedef
charexternreturnunion
continueforsignedvoid
doifstaticwhile
defaultgotosizeofvolatile
constfloatshortunsigned

참고로 C99, C11 등 이후 표준에서는 _Bool, restrict, _Alignas 등 추가 키워드가 도입되었습니다.

식별자(Identifiers)

식별자는 C 프로그램 내의 모든 구성 요소를 지칭하는 이름으로, 변수, 함수, 배열 등에 이름을 붙일 때 사용됩니다. 식별자는 사용자가 직접 정의하는 이름이며, 알파벳, 숫자, 밑줄(‘_’)로 구성됩니다. 단, 식별자의 이름은 키워드와 동일하게 지을 수 없으며, 키워드는 식별자로 사용할 수 없습니다.

C 식별자 명명 규칙

  • 반드시 알파벳 또는 밑줄(‘_’)로 시작해야 합니다.

  • 알파벳, 숫자, 밑줄만 사용할 수 있으며, 그 외의 특수문자나 문장부호는 허용되지 않습니다.

  • 이름에 공백(white-space)을 포함할 수 없습니다.

  • 키워드와 같은 이름을 사용해서는 안 됩니다.

  • 최대 31자까지만 유효합니다.

문자열(Strings)

문자열은 널 문자(\0)로 끝나는 문자 배열입니다. 이 널 문자는 문자열이 여기서 끝난다는 것을 나타내며, 문자열은 항상 큰따옴표(“ ”)로 묶어서 표현합니다.

C 언어에서 문자열을 선언하는 방법은 다음과 같습니다.

  • char string[20] = {‘s’,’t’,’u’,’d’,’y’, ‘\0’};
  • char string[20] = "demo";
  • char string[] = "demo";

지금까지 배운 내용을 바탕으로 C 언어의 토큰이 실제로 어떻게 사용되는지 예제를 통해 확인해 보겠습니다.

예제 코드

#include <stdio.h>
int main() {
    // char 키워드 사용
    char a1 = 'H';
    int b = 8;
    float d = 5.6;
    // 문자열 선언
    char string[200] = "demodotcom";
    if(b<10)
    printf("Character Value : %c\n",a1);
    else
    printf("Float value : %f\n",d);
    printf("String Value : %s\n", string);
    return 0;
}

실행 결과

Character Value : H
String Value : demodotcom

위 예제에서 char, int, float, if, return은 키워드에 해당하고, a1, b, d, string, main, printf는 식별자, 'H', 8, 5.6은 상수, "demodotcom", "Character Value : %c\n" 등은 문자열에 해당합니다. 즉, 하나의 짧은 코드 안에도 다양한 종류의 토큰이 함께 사용되는 것을 확인할 수 있습니다.