the problem of defination between "int" and "register int"
What is the difference between datatype "int" and "register int"?
Is "int" by default set to "register"? Since "register int"
increases the speed of loops, can I use them at all times, or there
are limitations?
"register" is one of the keywords used to give a hint to the compiler as to how to generate code. In this case, you are asking the compiler to try to keep a variable in a register instead of in memory. Registers can be accessed much faster than memory locations. A compiler is free to ignore hints like "register". The limitation is that most CPUs have very few registers free for use by the program. If you mark ten variables as "register", it is possible that none of them will actually be assigned to a register. Probably one or two concurrent "register" variables will work on some host systems. It all depends. It is probably better to write speed-critical software in assembly language for the specific host CPU; then you have full control over variable allocation and program execution.