aaaaaaaaaaaaaaaaaaab
New Member
Hi. I've got a union, containing several structures in C like this<br />
===================================================union {<br />
struct bit_values<br />
{<br />
unsigned char b01;<br />
unsigned char b11;<br />
unsigned char b21;<br />
unsigned char b31;<br />
} b; <br />
struct input_data<br />
{<br />
unsigned char gp11;<br />
unsigned char gp21;<br />
unsigned char gp31;<br />
unsigned char gp41;<br />
unsigned char gp51;<br />
unsigned char gp61;<br />
unsigned char gp71;<br />
unsigned char gp81;<br />
} in;<br />
<br />
struct eight_bit_words<br />
{<br />
unsigned char A8;<br />
unsigned char B8;<br />
} eight_bit;<br />
} un;<br />
===================================================<br />
<br />
I want to access the data in a variable such as <br />
un.eight_bit.A<br />
from an external function, preferably without passing the entire union. Dev C++ refuses to give me an address to a union member, so does anyone know how?<br />
<br />
nah, apparently not.<br />
<br />
same issue the compiler reports<br />
"cannot take address of bit-field 'A'
===================================================union {<br />
struct bit_values<br />
{<br />
unsigned char b01;<br />
unsigned char b11;<br />
unsigned char b21;<br />
unsigned char b31;<br />
} b; <br />
struct input_data<br />
{<br />
unsigned char gp11;<br />
unsigned char gp21;<br />
unsigned char gp31;<br />
unsigned char gp41;<br />
unsigned char gp51;<br />
unsigned char gp61;<br />
unsigned char gp71;<br />
unsigned char gp81;<br />
} in;<br />
<br />
struct eight_bit_words<br />
{<br />
unsigned char A8;<br />
unsigned char B8;<br />
} eight_bit;<br />
} un;<br />
===================================================<br />
<br />
I want to access the data in a variable such as <br />
un.eight_bit.A<br />
from an external function, preferably without passing the entire union. Dev C++ refuses to give me an address to a union member, so does anyone know how?<br />
<br />
nah, apparently not.<br />
<br />
same issue the compiler reports<br />
"cannot take address of bit-field 'A'