2016-07-16 10 views
0

대부분의 프로그래밍 언어에서 변수 이름은 문자 또는 숫자로 시작해야하며 문자, 숫자 및 낮은 점수 문자 조합이 뒤 따르는 것이 좋습니다. 나는 이것을 C, C++, PHP ($ 다음에)에서 발견했다.변수 이름 - 문자 또는 밑줄로 시작해야하는 이유는 무엇입니까?

  1. 컴파일러/인터프리터 작성자가 따르는 규칙일까요, 아니면 이에 대한 실용적인 이유가 있습니까?

  2. 왜 이러한 변수 이름은이 언어의 문자, 밑줄 및 숫자로만 구성되어야합니까? 4U 정수 또는 식별자인지

+1

C++에는 언더 스코어로 이어져서는 안되며 지켜야 할 규칙이 있습니다. 더 많은 것 : http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-ac-identifier – user4581301

+1

모든 언어에는 행동 규범이 있으므로 C에 오신 것을 환영합니다. – dreamBegin

+1

'if (123f == 456l) {'<- 하나는 상수 값이고 다른 하나는 숫자로 시작하는 변수 이름이 될 수 있습니다. 컴파일러는 말할 것도없고 어떻게 해결할 수 있습니까? –

답변

1
  1. 는 모호하다. 이것은 자체적으로 4이 유효하지 않은 식별자라고 가정합니다.
  2. #include, a*a 및 기타 구성이 모호합니다.

_은 연산자로 사용되지 않고 [A-Za-z_]으로 시작하는 단어는 미리 정의 된 키워드 또는 식별자입니다. 가능한 모호성 없음.

+0

왜 그 _ 연산자 아닌가요? 왜 안 ~ ~ ~ f? _? 내 질문은 - 그것이 관례에 따라 운영자로 사용되지 않을까? 그들이 파생 된 선행 언어에서 파생 된 것입니까? 다른 답변이 없기 때문에 내 질문에 부분적으로 대답 할 수 있습니다. 답변을 수락합니다. 답장을 보내 주셔서 감사합니다. –

+1

@Bitto 펀치 카드에서 단어 분리 문자로 사용하기 위해 EBCDIC 문자 세트에'_ '을 도입 한 IBM으로 거슬러 올라갑니다. ASCII도이를 채택했으며 FORTRAN은 식별자를 허용했습니다. 다른 운영자의 역사가 궁금하신 분은 프로그래머에게 물어보십시오. – a3f