It’s a hint to the compiler that the variable will be heavily used and that you recommend it be kept in a processor register if possible.
Most modern compilers do that automatically, and are better at picking them than us humans.
More Related Contents:
- Write a C program to swap content of memory blocks of size 32 bytes
- How dangerous is it to access an array out of bounds?
- How are multi-dimensional arrays formatted in memory?
- Where in memory are my variables stored in C?
- Order of local variable allocation on the stack
- How is malloc() implemented internally? [duplicate]
- Will a `char` always-always-always have 8 bits?
- Sharing memory between two processes (C, Windows)
- In C, do braces act as a stack frame?
- Should I free char* initialized using string-literals?
- What is a contiguous memory block?
- L1 memory bandwidth: 50% drop in efficiency using addresses which differ by 4096+64 bytes
- How to handle realloc when it fails due to memory?
- Can I rely on malloc returning NULL?
- Using Dynamic Memory allocation for arrays
- When to use static keyword before global variables?
- If free() knows the length of my array, why can’t I ask for it in my own code?
- How are variable names stored in memory in C?
- How garbage values are assigned to variables in c
- When should I use malloc in C and when don’t I?
- Why does “memset(arr, -1, sizeof(arr)/sizeof(int))” not clear an integer array to -1?
- Force free() to return malloc memory back to OS
- C: pointer to array of pointers to structures (allocation/deallocation issues)
- dynamic allocation/deallocation of 2D & 3D arrays
- Why exactly should I not call free() on variables not allocated by malloc()?
- Reading Other Process’ Memory in OS X?
- C Memory Management
- How many chars can be in a char array?
- Where do malloc() and free() store allocated sizes and addresses?
- How to check heap size for a process on Linux