intmain(void) { // Get a 32-bit buffer from the system uint32_t* buff = malloc(sizeof(Msg)); // Alias that buffer through message Msg* msg = (Msg*)(buff); // Send a bunch of messages for (int i = 0; i < 10; ++i) { msg->a = i; msg->b = i+1; SendWord(buff[0]); SendWord(buff[1]); } }
Solution
C Solution
union
C語言的話可以使用union
1 2 3 4
union { Msg msg; unsignedint asBuffer[sizeof(Msg)/sizeof(unsignedint)]; };