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

C 언어 식별자(Identifier)란 무엇일까? 핵심 개념과 명명 규칙 총정리

C 언어에서 식별자(Identifier)는 프로그램을 구성하는 토큰(token) 중 하나로, 변수·상수·함수·배열 그리고 사용자가 정의한 데이터에 이름을 붙여 서로 구별할 때 사용되는 고유한 이름입니다.

식별자에는 예약어(keyword)를 사용할 수 없습니다. int, return 같은 키워드는 컴파일러가 특수한 용도로 미리 예약해 둔 단어이기 때문입니다. 식별자가 한 번 선언되면 이후 프로그램의 다른 문장에서 그 이름을 통해 연결된 값을 참조할 수 있습니다.

또한 식별자 중에는 특수한 형태인 문장 라벨(statement label)이 있으며, 이는 goto 문과 함께 사용됩니다.

식별자 명명 규칙

식별자의 이름을 지을 때는 아래 규칙을 반드시 지켜야 합니다.

  • 식별자 이름은 프로그램 내에서 고유(unique)해야 합니다.
  • 키워드는 식별자로 사용할 수 없습니다.
  • 식별자는 반드시 영문자 또는 밑줄(_)로 시작해야 합니다.
  • 공백(white space)을 포함할 수 없습니다.
  • @, #, $ 등의 특수문자는 허용되지 않습니다.
  • 식별자는 영문자, 숫자, 밑줄(_)만으로 구성됩니다.
  • 컴파일러가 인식하는 유효 글자 수는 앞 31자까지입니다.
  • 대소문자를 엄격하게 구분합니다(case-sensitive). 예를 들어 sum과 SUM은 서로 다른 식별자입니다.

예제 코드

다음은 입력받은 문자열에서 모음과 자음의 개수를 세는 C 프로그램으로, 실제 코드 속에서 어떤 이름들이 식별자로 사용되는지 확인할 수 있습니다.

/* 문자열에서 모음과 자음 개수 세기 */
#include <stdio.h>
int main(){
    char str[100];
    int i, vowels, consonants;
    i = vowels = consonants = 0;
    printf("\nEnter any String : ");
    gets(str);
    while (str[i] != '\0'){
        if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u'
        || str[i] == 'A' || str[i] == 'E' || str[i] == 'I' || str[i] == 'O' || str[i] == 'U'){
            vowels++;
        }
        else
            consonants++;
        i++;
    }
    printf("\n no of Vowels in the given String = %d", vowels);
    printf("\n no of Consonants in the given String = %d", consonants);
    return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Enter any String : Tutorials Point
no of Vowels in the given String = 6
no of Consonants in the given String = 9

위 프로그램에서 사용된 식별자는 다음과 같습니다.

str, i, vowels, consonants

참고로 위 예제에 사용된 gets() 함수는 버퍼 오버플로우 위험이 있어 최신 C 표준(C11)에서는 제거되었으므로, 실무에서는 안전한 fgets() 사용을 권장합니다.