728x90
register
register 키워드는 변수를 CPU 레지스터에 저장해 달라고 요구하는 키워드입니다.
register는 메모리에 비해 접근 속도가 빠르기 때문에, 당연히 연산의 처리 속도가 증가합니다.
그러나 register의 크기는 메모리보다 훨씬 작기 때문에 모든 변수를 register에 할당할 수 없습니다.
컴파일러는 기본적으로 스스로 최적화를 진행한 후 register에 변수를 할당하지만, register 키워드를 사용할 경우 컴파일러에게 해당 변수를 register에 등록하면 좋다는 힌트의 용도로 사용할 수 있습니다.
힌트의 용도이므로 무조건 register에 등록되는 것은 아닙니다.
모든 레지스터가 사용중이면 할당 받지 못할수도 있습니다.
volatile
다음은 자바의 volatile에 대한 설명이지만 C언어도 동일하기에 해당 글을 참고하시면 좋을 거 같습니다.
https://ttl-blog.tistory.com/238
728x90
'c언어' 카테고리의 다른 글
[C언어] - 배열 (0) | 2022.04.19 |
---|---|
[C언어] - 재귀함수 (0) | 2022.04.19 |
[C언어] - 스택프레임 (0) | 2022.04.19 |
[C언어] - 지역변수, 전역변수, static 변수 (0) | 2022.04.19 |
[C언어] - 함수 (0) | 2022.04.19 |