地址值能赋值给变量吗?
ypedef struct _PLX_PARAMS{
RETURN_CODE ReturnCode; // API status code API状态代码
PLX_DEVICE_KEY Key; // Device key information 设备关键信息
U64 value[3]; // Generic storage for parameters 参数的通用存储器
union
{
PLX_INTERRUPT PlxIntr;//结构体变量,PLX中断结构
PLX_PHYSICAL_MEM PciMemory;//结构体变量,PLX物理存储器
PLX_PORT_PROP PortProp;//结构体变量,获取端口性质和状态
PLX_PCI_BAR_PROP BarProp;//结构体变量,BAR(缓冲地址寄存器)属性
PLX_DMA_PROP DmaProp;//结构体变量,DMA通道特性结构
PLX_DMA_PARAMS TxParams;//结构体变量,DMA传输参数
PLX_DRIVER_PROP DriverProp;//结构体变量,PLX驱动器属性
} u;
} PLX_PARAMS;
typedef struct _PLX_DMA_PARAMS
{
union
{
U64 UserVa; // User space virtual address 使用者空间虚拟地址
U32 PciAddrLow; // Lower 32-bits of PCI address PCI地址的低32位
} u;
U32 PciAddrHigh; // Upper 32-bits of PCI address PCI地址的高32位
U32 LocalAddr; // Local bus address 局部总线地址
U32 ByteCount; // Number of bytes to transfer 转移的字节数
U32 TerminalCountIntr :1;
U32 LocalToPciDma :1;
} PLX_DMA_PARAMS;
PLX_PARAMS IoBuffer;
UNSIGNED32 value;
typedef UINT_PTR PLX_UINT_PTR;
IoBuffer.u.TxParams.u.UserVa = (PLX_UINT_PTR)&value;请问这个赋值语句正确吗?地址值能赋给变量吗?还是这里面有什么玄机?请各位大神指点