C 언어 토큰, 키워드 및 식별자: 유형 및 예제

⚡ 스마트 요약

C 언어에서 토큰은 컴파일러가 읽는 가장 작은 개별 단위이며, 모든 C 프로그램은 키워드, 식별자, 상수, 문자열, 연산자 및 C 문자 집합에서 가져온 특수 기호의 여섯 가지 토큰 유형으로 구성됩니다.

  • 🔤 문자 세트: C 소스 코드는 문자, 숫자, 공백 및 특수 문자를 조합하여 모든 토큰과 기호를 구성합니다.
  • 🧩 토큰 유형 6가지: 컴파일러는 프로그램을 키워드, 식별자, 상수, 문자열, 연산자 및 특수 기호로 분리합니다.
  • 🔑 키워드 : C 언어는 int, for, return과 같은 32개의 소문자 키워드를 예약해 두고 있으며, 각 키워드는 고정된 의미를 가지므로 재정의할 수 없습니다.
  • 🏷️ 식별자: 변수와 함수에 대한 사용자 정의 이름은 문자 또는 밑줄로 시작해야 하며 예약어를 사용해서는 안 됩니다.
  • 🔢 상수 및 문자열: 상수는 고정된 값을 가지는 반면, 문자열 리터럴은 문자를 큰따옴표로 묶고 끝에 널 문자를 추가합니다.
  • 🤖 AI 지원: GitHub Copilot과 같은 도우미 도구는 유효한 식별자를 제안하고, 키워드 충돌을 표시하며, C 코딩 속도를 향상시켜 줍니다.

C 토큰, 식별자 및 키워드

C 언어에서 문자 집합이란 무엇인가요?

다른 모든 언어와 마찬가지로 C 언어도 고유한 문자 집합을 가지고 있습니다. 프로그램은 실행될 때 출력을 생성하는 명령어들의 집합입니다. 프로그램이 처리하는 데이터는 다양한 문자와 기호로 구성됩니다. 생성된 출력 또한 문자와 기호의 조합입니다.

C 언어의 문자 집합은 다음과 같이 나뉩니다.

  • 편지
  • Numbers
  • 특수 문자
  • 공백(공백)

컴파일러는 문자의 사용을 항상 무시하지만, 문자는 데이터를 포맷팅하는 데 널리 사용됩니다. 다음은 C 프로그래밍에서 사용되는 문자 집합입니다.

1) 편지

  • 대문자(AZ)
  • 소문자(az)

2) Numbers

  • 0부터 9까지의 모든 숫자

3) 여백

  • 빈 공간
  • 새 행
  • 캐리지 리턴
  • 수평 탭

4) 특수 문자

C 언어의 특수 문자는 다음 표에 나와 있습니다.

특수 문자 기술설명
, (반점) {(여는 중괄호)
. (기간) } (닫는 중괄호)
; (세미콜론) [(왼쪽 대괄호)
: (콜론) ](오른쪽 대괄호)
? (물음표) ((왼쪽 괄호 열기)
'(아포스트로피) ) (오른쪽 괄호 닫기)
” (큰따옴표) &(앰퍼샌드)
! (느낌표) ^(캐럿)
|(세로 막대) + (추가)
/ (슬래시) – (하위)trac션)
\(역슬래시) * (곱셈)
~(물결표) / (분할)
_ (밑줄) >(보다 크거나 닫는 꺾쇠괄호)
$(달러 기호) <(보다 작거나 여는 꺾쇠 괄호)
%(백분율 기호) #(해시 기호)

C 언어에서 토큰이란 무엇인가요?

토큰은 C 프로그램에서 가장 작은 단위입니다. 프로그램에서 발견되는 모든 단어와 구두점을 포함합니다. 컴파일러는 프로그램을 가능한 가장 작은 단위(토큰)로 분해하여 컴파일의 여러 단계를 진행합니다. AC 토큰은 키워드, Opera토르, 문자열, 상수, 특수 문자 및 식별자.

C 언어의 토큰 종류는 여섯 가지입니다.

다음 섹션에서는 이러한 토큰 유형 각각을 살펴보는데, 모든 C 문장을 구성하는 두 가지 유형인 키워드와 식별자부터 시작합니다.

C의 키워드

C 언어에서는 모든 단어가 키워드 또는 식별자가 될 수 있습니다.

키워드는 고정된 의미를 가지며, 그 의미는 변경될 수 없습니다. 키워드는 C 프로그램의 구성 요소 역할을 합니다. C 언어에는 총 32개의 키워드가 있으며, 모두 소문자로 작성됩니다.

다음 표는 C 언어의 키워드를 나타냅니다.

키워드 C Programming Language
자동 더블 INT 구조체
하다 그렇지 않으면 스위치
케이스 열거 형 회원가입 형식 정의
이륜 전차 외부 return 노동 조합
const를 짧은 뜨다 부호
계속 을 통한 서명 무효화
디폴트 값 고토 크기 휘발성의
do if 정적 인 동안

C 언어의 식별자

식별자란 프로그램 내 요소에 할당된 이름일 뿐입니다. 예를 들어, 객체의 이름이 식별자가 될 수 있습니다. 변수 또는 함수. 식별자 C 언어 식별자는 C 표준 문자 집합으로 구성된 사용자 정의 이름입니다. 이름에서 알 수 있듯이 식별자는 프로그램의 특정 요소를 식별하는 데 사용됩니다. 각 식별자는 고유한 이름을 가져야 합니다. 식별자를 사용할 때는 다음 규칙을 따라야 합니다.

  • 첫 번째 문자는 항상 알파벳이나 밑줄이어야 합니다.
  • 문자, 숫자 또는 밑줄만 사용하여 구성해야 합니다.
  • 키워드는 식별자로 사용할 수 없습니다.
  • 공백 문자를 포함할 수 없습니다.
  • 이름은 의미가 있어야 합니다.

C의 상수

상수란 프로그램 실행 중에 값이 변하지 않는 토큰입니다. C 언어에서 상수를 사용하면 숫자나 텍스트와 같은 고정된 데이터를 저장하고 실수로 수정되는 것을 방지할 수 있습니다. 상수는 몇 가지 일반적인 범주로 나뉩니다.

  • 정수 상수 — 10, -45, 0과 같은 정수.
  • 부동소수점 상수 — 3.14 또는 -0.5와 같이 소수점이 있는 실수.
  • 문자 상수 — 'A' 또는 '9'와 같이 작은따옴표 안에 한 글자만 있는 경우.
  • 문자열 상수 — 큰따옴표 안에 있는 일련의 문자열(예: “)Guru99. "

상수를 정의하려면 다음을 사용할 수 있습니다. const 예선전 또는 #define 예를 들어 전처리 지시문 const int DAYS = 7;고정값 선언에 대한 자세한 내용은 C 언어 가이드를 참조하세요. 변수, 데이터 유형 및 상수.

C의 문자열

C 언어에서 문자열은 널 문자(\0)로 끝나는 1차원 문자 배열입니다. C 언어에는 문자열 전용 데이터 형식이 없기 때문에 문자열 리터럴은 문자 배열로 저장되며, 널 문자는 텍스트의 끝을 나타냅니다. 따라서 라이브러리 함수는 별도의 길이 카운터 없이 문자열의 끝을 찾을 수 있습니다.

문자열을 만드는 일반적인 방법은 두 가지입니다.

  • 문자 배열로: char name[] = "Guru99";
  • 리터럴을 가리키는 포인터로서: char *name = "Guru99";

두 형식 모두 보이는 6개의 문자와 종료 null 문자를 저장합니다. 문자 배열 및 텍스트 처리에 대해 더 자세히 알아보려면 튜토리얼을 참조하세요. C 언어의 문자열.

OperaC의 tors

연산자는 컴파일러에게 하나 이상의 피연산자에 대해 특정 수학적, 관계적 또는 논리적 연산을 수행하도록 지시하는 토큰입니다. Opera토르(tor)는 C 프로그램의 동작을 나타내는 기호이며, 토르가 작용하는 값은 피연산자라고 합니다. C 언어는 피연산자를 여러 종류로 분류합니다.

  • 산술 연산자 — +, -, *, /, %와 같은 계산을 수행합니다.
  • 관계 연산자 — ==, !=, >, <와 같이 두 값을 비교합니다.
  • 논리 연산자 — &&, ||, !와 같은 조건을 결합합니다.
  • 할당 연산자 — 변수에 값을 저장하는 연산자(예: = 및 +=).
  • 비트 연산자 — &, |, ^, ~와 같은 개별 비트를 작업합니다.

키워드 및 식별자와 함께 연산자를 사용하면 프로그램은 컴파일러가 기계어로 변환할 수 있는 완전한 명령어를 표현할 수 있습니다.

자주 묻는 질문

네. C 언어는 대소문자를 구분하는 언어이므로 대문자와 소문자를 서로 다르게 취급합니다. 32개의 키워드는 모두 소문자로 작성해야 하며, 'Total'과 'total'과 같은 식별자는 동일한 프로그램 내의 서로 다른 두 요소를 가리킵니다.

C 표준은 엄격한 제한을 두지 않지만, 표준을 준수하는 컴파일러는 내부 식별자의 경우 처음 63자, 외부 식별자의 경우 처음 31자만 유효한 문자로 처리하면 됩니다. (키)ping 짧고 설명적인 이름은 이식성 문제를 방지합니다.

아니요. 공백, 탭, 줄 바꿈 및 주석은 컴파일러가 토큰을 구분하는 데 사용한 후 버리는 구분 기호입니다. 이러한 요소들은 6가지 토큰 유형에 포함되지 않지만, 문자열 리터럴 내의 공백은 중요한 의미를 가질 수 있습니다.

첫 번째 단계인 어휘 분석 단계에서 컴파일러는 소스 코드를 문자 단위로 스캔하여 가장 작은 의미 단위로 그룹화합니다. 그런 다음 각 토큰은 키워드, 식별자, 상수, 문자열, 연산자 또는 특수 기호로 분류됩니다.

렉심(lexeme)은 소스 코드에서 실제로 존재하는 문자열로, 예를 들어 `int`나 `count`와 같은 텍스트가 있습니다. 토큰(token)은 컴파일러가 해당 렉심에 할당하는 범주로, `keyword`나 `identifier` 등이 있습니다. 모든 토큰은 일치하는 렉심에서 파생됩니다.

문자 상수는 'A'와 같이 작은따옴표로 묶인 단일 문자이며 1바이트를 차지합니다. 문자열 리터럴은 'A'와 같이 큰따옴표로 묶인 문자열입니다. Guru99이며 항상 숨겨진 널 문자로 끝나므로 1바이트가 추가로 필요합니다.

네. AI 코딩 도우미는 유효한 식별자를 제안하고, 키워드 기반 문장을 완성하며, 입력하는 동안 예약어와 충돌하는 이름을 표시합니다. 또한 일반 언어 주석을 올바른 C 언어 선언으로 변환할 수 있지만, 생성된 코드는 여전히 검토해야 합니다.

GitHub 부조종사 주석이나 변수 이름에서 C 식별자, 키워드, 전체 문장을 자동 완성해 줍니다. 의미 있는 이름을 제안하고, 키워드 충돌에 대한 경고를 표시하며, 정형화된 코드를 작성해 주지만, 모든 제안은 여전히 ​​신중하게 검토해야 합니다.

이 게시물을 요약하면 다음과 같습니다.