- 論壇徽章:
- 0
|
typedef struct
{
HPR_INT8 ctrl;
HPR_INT8 drive;
HPR_UINT8 res0[2];
int d;
................ /*省略號表示結(jié)構(gòu)體中相同部分里面沒有指針*/
}STOR_SEAR0
typedef struct
{
int *p;
int *q;
int a;
int d;
................ /*省略號表示結(jié)構(gòu)體中相同部分里面沒有指針*/
}STOR_SEAR1
有如上兩個結(jié)構(gòu)體我要拷貝STOR_SEAR0省略號部分到STOR_SEAR1省略號部分,我的想法是這兩個結(jié)構(gòu)體只有前面幾個字節(jié)是不同的(已經(jīng)4字節(jié)對齊),我只要從相同部分拷貝就可以了,即從d處的內(nèi)存地址開始拷貝
STOR_SEAR1 structSear1;
STOR_SEAR0 structSear0;
memcpy( ((char *)&structSear1+12),((char *)&structSear0+4),sizeof(STOR_SEAR0)-4)
但出錯了,為什么,(省略號部分是完全相同的且已經(jīng)考慮了4字節(jié)對齊的)
|
|