Es un modificador aplicable a variables locales a función e indica al compilador que intente almacenarla en un registro de la CPU y no en la pila. Sólo es aplicable a variables de tipo numérico, incluidos los punteros. Es incompatible con tomar la dirección de la variable en cuestión.
Para más información examine la ayuda sobre los tipos de variables en C según el tiempo de existencia y ámbito de acceso.
El procedimiento modificaVector modifica los elementos de un vector de enteros.
void modificaVector(int *v, int n) {
register int i=0; /* Se intentan almacenar en un registro de CPU */
register short int j=3;
for(;i<n;i++)
v[i]*=j;
}