How to call a unsigned char array with a function?

Hello,
I have different unsigned char arrays, e.g.

unsigned char PROGMEM mybigbitmap5[1][240] = {  
  { 0x00, 0x00, 0x00, 0xff, 0x07,..

I can call them directly like this:

dots = pgm_read_byte_near(&(mybigbitmap5[c][cc]));

But I want to have a function where I call the name of the unsigned char array with other parameters and the array will be read, like this:

void putbigbitmap(byte x, byte y, unsigned char c, unsigned char *bitmapname, byte columncountbitmap, byte rowcountbitmap, char oddeven)
...
dots = pgm_read_byte_near(&(bitmapname[c][cc]));

and in the loop section I would call the unsigned char array

putbigbitmap(0, 0, 0,mybigbitmap5 , 40, 48, "G");

How could I call the different arrays?

Thanks in advance for any help.

I can call them directly like this:

dots = pgm_read_byte_near(&(mybigbitmap5[c][cc]));

That's not a call. That's a reference. It is passing a memory location to a function.

You don't pass the name of the array to a function. You pass the address of the array to the function.

If you are trying to pass mybigbitmap5 to putbigbitmap, the types need to match, including all qualifiers. mybigbitmap5 is a 2D array, or a char **, not a 1D array or char *.