-
[C Language] 34. 레지스터 변수 - C 언어CSE/C Language 2015. 7. 19. 15:46
레지스터 변수의 특징
1) 메모리가 아닌 CPU 영역을 사용한다.
2) 고속 연산에 사용된다.
3) 전역변수나 정적변수에 사용될 수 없다(지역변수로만 사용가능)
레지스터 변수 사용 예
12345register int i, j;register i, j;register unsigned tmp;cs 왜 레지스터 변수를 사용하는가?
위에서 언급한 것처럼 고속 연산을 수행하기 위해서 사용한다. 하지만 여기에는 몇 가지 전제가 따르는데 다음과 같다.
1) 레지스터 변수의 개수는 시스템마다 그 한계가 다르다. 90 년도의 PC에는 2개였으며 워크스테이션에서는 8개까지 가능하였다. 그 이상의 레지스터 변수는 CPU에 할당되는 것이 아니라 메모리에 할당되므로 무조건 많이 사용한다고 해서 절대로 속도가 빨라지는 것은 아니다.
2) 단순하면서도 상당한 양의 회전을 요하는 반복문에서 효력을 발휘하며 다른 곳에서는 큰 의미가 없다.
'CSE > C Language' 카테고리의 다른 글
[C Language] 37. 2차원 배열과 포인터 - C 언어 (0) 2015.08.04 [C Language] 36. 1차원 배열과 포인터 - C 언어 (0) 2015.07.20 [C Language] 35. 포인터 기초 - C 언어 (0) 2015.07.20 [C Language] 33. 정적변수 - C 언어 (0) 2015.07.19 [C Language] 32. 전역변수 - C 언어 (0) 2015.07.19 [C Language] 31. 지역변수 - C 언어 (0) 2015.07.19