본문 바로가기

About Programing/03. Tip

Register variable (레지스터 변수)


출처 : 클릭

 레지스터 변수(Register variable)는 프로세서의 레지스터에서 처리되는 변수를 말합니다. 
레지스터는 CPU 안에 있는 메모리로써, 기계어 한 두개 수준에서 직접 처리가 되므로 프로그램의 수행 속도를 향상시킬 수 있습니다. 
 따라서 프로그램의 수행에서 가장 영향을 주는 변수를 레지스터 변수로 선언하여 사용하면 프로그램 속도를 비약적으로 향상시킬 수 있는 경우가 있습니다.
 
 하지만 register를 붙인다고 꼭 레지스터 변수로 선언되는 것은 아닙니다.
 경우에 따라서는 남는 레지스터가 없을 수도 있으므로 여기서 말하는 레지스터는 컴파일러에게 반드시 그렇게 선언하라고 요구하는 의미보다는,
  
"가능하면 레지스터로 처리하라" 는 정도의 약한 의미에 불과합니다.
  
 레지스터 변수를 선언하려면 변수를 선언할 때 앞에 register를 붙이면 됩니다.
레지스터 변수 선언은 지역 변수(Local variable)로만 선언할 수 있고 전역 변수(Global Variable)로는 선언할 수 없습니다.
 
register int k;
 
의 경우는 k라는 정수형 변수를 가능하면 레지스터 변수로 선언하라는 뜻이 되겠네요.