2011-03-26 3 views
7

main을 식별자로 사용할 수 있습니까?main이라는 단어를 식별자로 사용

그렇다면 시나리오가 무엇입니까?

+2

물론 가능합니다. 사실, 그렇지 않으면 실행 파일을 실행할 수 없습니다. 예약어가 아니에요. – Jon

+0

@ JohnDee/혹시 잉글랜드의 여왕을 아십니까? ;) –

답변

5

main()이 사용되는 방식으로, 즉 함수로 사용하지 않는다면 어떻게할까요?

/* Error -- > */ int main() { return 1; } // Redefinition of main() 

struct main{}; // ok 

int main = 0 ; // error 

int main(void) 
{  
    int main=0; // But has to be local. 
    goto main; 
    printf("Hello"); 
    main: 
    printf("World"); 
} 

mainNOT 키워드입니다 기억하십시오. 그러나 나는 우리가 말을 다 떨어지지 않았다고 생각합니다. 왜 그것을 사용합니까?

4

기술적으로? 함수 내에서 static 또는 auto 변수 이름으로 또는 main()을 포함하는 파일 이외의 파일에서 static 파일 범위 변수로 사용하십시오. struct 또는 union 태그로도 작동하거나 main()이 포함 된 파일을 제외하고는 typedef으로 작동 할 수 있습니다.

실질적으로? 1 년 후 프로그램에 다시 돌아 왔을 때 어떤 바보가 이라고 생각하는지 궁금해 할 때 좋은 생각입니다.은 좋은 아이디어였습니다. :)

2

여러분, 여기 $ 64,000 질문 : 왜 이렇게 하시겠습니까? 아마도 난독 화 된 C 콘테스트에 참가할 계획인가? quine을 쓰는 몇 가지 독특한 접근 방식은 무엇입니까? 보풀 같은 프로그램을위한 테스트 케이스? 그것은 분명히 실제 프로그램에서하고 싶지 않은 일입니다.

관련 문제