This is C confusing syntax.
We have arrays and pointers. In C, they're almost the same. An array is effectively a constant pointer to a memory buffer.
So you can write
Code:
int channels[7];
for(i=0;i<7;i++)
printf("%d ", channels[i]);
or you can write
Code:
int channels[7];
int *ptr = channels;
for(i=0;i<7;i++)
printf("%d ", ptr[i]);
or you can write
Code:
int channels[7];
int *ptr = channels;
for(i=0;i<7;i++)
printf("%d ", *ptr++);
or you can write
Code:
int channels[7];
int *ptr = channels;
for(i=0;i<7;i++)
printf("%d ", *(ptr + i));
It's all the same. Which you use depends on what makes more sense. For just stepping through the array, use [] notation. If you want to move forwards and backwards in a complicated way, * notation might be clearer.