在一个项目中,我看到下面一行,我不明白铸造两次的原因。在一条生产线上铸造两次
*((MY_STRUCT_T*)(void *)cp->down.common) = *(cp->dpr);
铸造两次的原因是什么?为什么不直接投射到MY_STRUCT_T *?
添加更多的细节:
typedef union download_s {
MY_STRUCT_1_T *a1;
MY_STRUCT_2_T *a2;
void *common;
} download_t;
typedef struct cp_s {
...
MY_STRUCT_T *dpr;
...
} cp_t;
down.common的类型是什么? –
这是一个无效的指针 – mustafa
只是可能是编码器喜欢它这样。 – Marian