소프트웨어/C 언어

[C언어]23. 변수의 특별한 성질들 -4- ( 레지스터 변수 )

리습 2013. 6. 11. 06:30


안녕하십니까. 리습입니다.


변수의 특별한 성질들을 알아보고 있습니다. 그 마지막으로 레지스터 변수라는 것을 알아보겠습니다.


 레지스터 변수 


 컴퓨터의 내부 CPU 에는 레지스터라고 하는 cpu의 기억 공간이 있습니다. CPU가 직접적으로 어떤 일을 처리하기 위해서는 이 레지스터라는 곳에 데이터를 넣고 처리하게 되죠. 그래서 속도가 매우 빠릅니다. 일반적인 메모리 공간을 사용할 때와는 비교할 수 없을 정도로 빠르죠. 이런 레지스터 공간을 이용하여 변수를 선언할 때도 키워드를 사용하시면 됩니다. 그 키워드는 register 입니다. 


 C언어 표준에서는 레지스터 변수를 선언할 경우 레지스러에 변수공간을 차지하도록 하였지만 레지스터의 특징상 "공간이 충부하지 않고 여러가지 다른 참조가 많이 일어나기 때문에" 정말 고도의 최적화 프로그램을 만드는 것이 아니라면 사용하지 않는 것이 좋습니다. 또한 현대의 컴파일러는 매우 똑똑해서 필요에 따라 알아서 레지스터 변수를 사용하니 일반적인 프로그램을 만드는데 레지스터 변수까지 신경을 쓸 필요는 없습니다.


지금까지 변수의 특별항 성질들에 대하여 알아보았습니다. 여러가지 특징이 있고 편리하지만 꼭 필요할 때만 사용하실 것을 추천드립니다.