Variables which are allocated in the registers of the processor. Their type can be only integer, character, and pointer. It is advised to declare as register variables frequently used variables in a function. The number of register variables is limited. If many were declared, the ones which cannot be allocated in registers are allocated on the stack, as automatic variables. Modern compilers do their own optimization of register usage, making this declaration obsolete.
Read this topic