A ver, la variable de control de un bucle es en sí misma una variable como cualquier otra que se ve alterada conforme un ciclo pueda tener inicio y fin.
Gracias a los ciclos podemos hacer que una variable, por ejemplo la de control, tome un rango de valores: a0, a1, aN
Por ello, podemos hacer un recorrido de una estructura tipo array a través del método de acceso índex o índice. Ya que cada elemento de esa estructura ocupa la posición 0..M-1, 0..N-1, 0..O-1, etc dependiendo de las dimensiones del array. Aunque para hacer arrays N-dimensionales
generalmente se usan punteros.
Ejemplo:
#include <stdio.h>
void main(){
int lista[10]; // vector de 10 elementos de tipo int
int i,j=1; // variable de control del ciclo for
/* Rellenamos el vector "lista" con los cuadrados de los primeros
10 números naturales */
for ( i=0; i<10; i++ )
lista[i] = j++*j;
/* Mostramos el vector "lista" con los cuadrados de los primeros
10 números naturales */
printf("El vector lista contiene los elementos:"); for ( i=0; i<10; i++ )
}
Ahí tienes un ejemplo de ciclo con array y qué papel juega la variable de control al utilizarla como índice del array.
De todas formas, C, C++, etc. no son buenos lenguajes para aprender a programar.