Register

Variables declared as register are allocated to a CPU register if there is a suitable register available. These variables behave as automatic variables, except that the compiler gives them preference over automatic variables when allocating register storage.

Only function arguments and local variables can be declared with the register storage class.

Like automatic variables, register variables persist only until the end of the block in which they are declared.