Q:  What are register variables? What are the advantage of using register variables? 

A:  Access to `register' specified indentifiers should be as fast as possible, so the 
    compiler may place the value in a machine register.  However, the compiler is
    free to treat a `register' declaration as an `auto' declaration.

    Note the following properties of register storage class:

        +   An array should not be declared with register storage class; doing 
            so is an undefined behavior.

        +   Address-of operation(&) can not be applied to an identifier with
            register storage class.

        +   `register' storage class is the only class that can appear in a
            parameter declaration.

        +   The `register' specifier should not occur in an external 
            declaration.

    Source: geocities.com/vijoeyz/faq/c

               ( geocities.com/vijoeyz/faq)                   ( geocities.com/vijoeyz)