#include <stdio.h>
typedef struct
{
int start;
int addr1;
int data1;
int addr2;
float data2;
int addr3;
float data3;
int checknum1;
int checknum2;
int end;
} frame_t;
frame_t Frame;
int main(void)
{
int i;
Frame.start = 0xFE;
Frame.addr1 = 0x01;
Frame.data1 = 0x08;
Frame.addr2 = 0x02;
Frame.data2 = 0x09;
Frame.addr3 = 0x03;
Frame.data3 = 0x07;
Frame.checknum1 = 0;
Frame.checknum2 = 0;
for(i = 0; i < 3; i++)
{
/*注意指针加1与指针所指值加1*/
Frame.checknum1 += *(((int *)&Frame.addr1) + i);
printf("checknum1 = %d\r\n", Frame.checknum1);
Frame.checknum2 += *(((int *)&Frame.addr1)) + i;
printf("checknum2 = %d\r\n", Frame.checknum2);
}
Frame.end = 0xFF;
}