Byte or char Arrays?

Hi, I want to use an array to pass Numeric data from a master to slaves.

I started using
char data[16] = {0};

But then saw an example that used
byte data[16] = {0};

I am using the data[x] to give me a range of 0 to 255 rather than waste an extra byte for "int"
e.g.
data[0] = 43;
data[1] = 19;
...
data[15] = 209;

The question is, which would be a preferred array type (and why) or doesn't it matter?

I need the numeric data[x] to be used by the slave as a switch value

  switch(data[0])
  { case 43:
       // do something
     break
  }
  switch(data[1])
  { case 11:
       // do something
     break
  }

Thanks

"The char datatype is a signed type, meaning that it encodes numbers from -128 to 127. For an unsigned, one-byte (8 bit) data type, use the byte data type."

from the page at https://www.arduino.cc/en/Reference/Char

Because you wrote that:

data[15] = 209;

I think that you need to use byte.

or unsigned char.

vaj4088:
I think that you need to use byte.

OK, thanks for that, I do indeed need to use byte then as anything between 0 and 255 may need to be called upon.

Thanks for the quick reply and clear explanation. Much appreciated.

@Keith:
I assume then that an unsigned char is the same as a byte then?

Yep.

uint8_t