This is a rather fundamental question which I should not be grappling with but somehow am getting confused. And, since the code (which I am asking this question about) is from an example sketch (MulticeiverDemo.ino from the RF24 library by TMRh20) it surely can't be wrong.
Here's my confusion:
The pipe addresses are defined in a multi-dimensional array as below:
uint8_t address[6][5] = { { 0x78, 0x78, 0x78, 0x78, 0x78 },
{ 0xF1, 0xB6, 0xB5, 0xB4, 0xB3 },
{ 0xCD, 0xB6, 0xB5, 0xB4, 0xB3 },
{ 0xA3, 0xB6, 0xB5, 0xB4, 0xB3 },
{ 0x0F, 0xB6, 0xB5, 0xB4, 0xB3 },
{ 0x05, 0xB6, 0xB5, 0xB4, 0xB3 } };
Then the pipes are opened for reading in a loop like so:
for (uint8_t i = 0; i < 6; ++i)
radio.openReadingPipe(i, address[i]);
Given that the second parameter should be of type uint8_t, and address[i] should give an array of values, how does this work?