A loop counter is a counting variable used in the loop structure of most computer programming languages.
Such variables change with each iteration of a loop, providing a unique value for each individual iteration, and enabling the power of a loop structure to be utilised. The loop counter is often used to help decide when the loop should terminate, for program flow to continue to the next instruction.
It is considered programming custom by many to use the loop counter variable names i, j and k (or so on if needed), where i would be the most outer loop, j the next inner loop, and so on. Most programmers recognise these variable names as being loop counters, and so are not considered ambiguous for their short size. This style is generally agreed to have originated from the early programming of FORTRAN, where these particular variable names did not need to be declared as integers, and so were obvious choices for loop counters that were only temporarily required. The practice also dates back further to mathematical notation where indices for sums and multiplications are often i, j, etc.
Example
for(i = 0; i < 100; i++) {
for(j = i; j < 100; j++) {
function(i, j);
}
}
above: An example of C code involving nested for loops, where the loop counter variables are i and j.