English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C에서 / C ++에서, 변수 이름은 문자, 숫자 및 언어(_) 문자를 포함할 수 있습니다. C / C ++언어에는 일부 키워드가 있으며, 이 외의 모든 것이 식별자로 간주됩니다. 식별자는 변수, 상수, 함수 등의 이름입니다.
숫자로 시작하는 식별자를 지정할 수 없습니다. 왜냐하면 컴파일러는 다음 일곱 단계로 구성되어 있기 때문입니다.
레이터리스 분석
문법 분석
의미 분석
중간 코드 생성
코드 최적화
코드 생성
시그널 테이블
위의 모든 것이 지원되지 않기 때문에, 숫자로 시작하는 변수를 지정할 수 없습니다. 왜냐하면 컴파일러는 다음 일곱 단계로 구성되어 있기 때문입니다. 컴파일러는 첫 번째 문자를 본 후, 그 문자가 문자 또는 식별자인지 확인해야 합니다. 따라서 컴파일러는 지원되지 않는 레이터리스 분석 단계로 되돌아가야 합니다.
다음은 C에서 변수 선언을 보여주는 예제입니다.
#include <stdio.h> int main() { int 5s = 8; int _4a = 3; int b = 12; printf("변수 _의 값: " 5s: %d", 5s); printf("변수 _의 값: "4a: %d", _4a); printf("\n변수 b의 값: %d", b); return 0; }
위 프로그램은 "정수 상수 접미사 s가 유효하지 않습니다"라는 오류를 유발합니다. 왜냐하면 변수가5시작 부분. 이 변수를 제거하면 프로그램이 정상적으로 실행됩니다.
새 프로그램의 표시 예제는 다음과 같습니다.
#include <stdio.h> int main() { int _4a = 3; int b = 12; printf("변수 _의 값: "4a: %d", _4a); printf("\n변수 b의 값: %d", b); return 0; }
출력 결과
위 프로그램의 출력은 다음과 같습니다.
변수 _의 값:4a: 3 변수 b의 값: 12