assembling string to send from one uC to another

I am trying to assemble a string of a few different variables to send from one uC to another. This is what i coded.

struct
{
char msgHeader;
int data[3];
char star;
byte CS;
} msg;

msg.msgHeader = 'S';
msg.star = '*';

msg.data[0] = distance_moved;
msg.data[1] = voltage;
msg.data[2] = current;

char * p = &msg;

for (int i = 0; i < sizeof(msg) - 2; i++)
{
msg.CS ^= p*;*
}
This will not compile in the IDE. I get "cannot convert '' to 'char' in initialization"
on this line : char * p = &msg;
Does anyone have any suggestions on how i go about achieving this? How do you send data between uControllers?

Instead: of char * p = &msg;

Try: char * p = (void *) &msg;

Thanks, i just solved it with a friend.

I changed it to

byte p = (byte)&msg;

I'm not sure if void would worked, but byte does.

Thank you for your help and a fast response, i have found a new place to turn for when i need help in the future.