La palabra clave de registro está obsoleta y en su mayoría ignorada .
Pero esta pequeña parte de su documentación en el msdn me hizo dudar.
El compilador no acepta solicitudes de usuario para registrar variables; [...] Sin embargo, se respetan todas las demás semánticas asociadas con la palabra clave de registro .
¿Cuáles son esas otras semánticas?
Por ejemplo, en C no puede tomar la dirección de un objeto declarado con el especificador de register .
void foo(void) { register int a = 42; &a; // constraint violation } Otro ejemplo, no puede usar el register en una declaración de alcance de archivo:
register int b = 42; // constraint violation int main(void) { }