2013-05-10 3 views
0

코드를 명령어 시퀀스로 변환 할 때 컴파일러가 로컬 변수와 전역 변수를 구별하는 방법은 무엇입니까?컴파일러 및 로컬/전역 변수

그리고 두 번째 나는 상수가 명령어 세트와 함께 저장되고 문자열이 상수 블록 의 메모리를 가리키는 포인터를 통해 저장된다고 생각합니까?

+0

http://en.wikipedia.org/wiki/Local_variable 당신이 묻는 컴파일러가 변수 여부를 알 방법

범위는 당신이 주제에 대한 위키 백과 항목을 체크 아웃 할 수 있습니다, 매우 큰 주제입니다 글로벌 또는 로컬 또는 그 차이가 생성 된 코드에 어떻게 영향을 줍니까? – sepp2k

+0

해당 질문에 대한 답변은 언어에 따라 크게 달라집니다. – JoseOlcese

+0

일반적인 경우에 어떤 문제가 발생했는지 알 수 있습니까? –

답변

1

나는 당신이 찾고있는 대답은 컴파일러가 로컬 변수가 무엇이든 상관 없다고 생각한다. (예를 들어, 함수에서 함수의 변수는 함수의 범위로, 클래스에서는 변수 클래스에 범위가 지정됨). 전역 변수의 경우 변수는 프로그램이나 시스템 전체로 범위가 지정됩니다. 두 가지 모두 사용되는 용어를 보았습니다.

예 : 함수 F가 myglobal을 볼 수있을 것이다되도록 상기 예에서

program P { 
    variable myGlobal 

    function F { 
    variable myFunction 
    } 
} 

는 myglobal을 변수는 프로그램 (P)의 모든 범위가 될 것이다. myFunction은 F 함수에서만 볼 수 있습니다.

전역 변수는 시스템 전체 변수 (예 : IP 주소, OS 버전 등)를 나타내는 데 사용되기도합니다. 이 또한 도움이 될 수 http://en.wikipedia.org/wiki/Scope_(computer_science)

: http://en.wikipedia.org/wiki/Global_variable