rendered paste body/*
Output:
struct size = 12
flag = a
message = efghi
Desired Output:
struct size = 6
flag = a
message = bcdef
*/
#include <stdio.h>
typedef struct
{
unsigned char flag;
union
{
struct
{
int address;
unsigned char data[1];
} nvm;
char message[5];
} payload;
} packet_t;
int main(int argc, char *argv[])
{
packet_t *p;
char d[] = "abcdefghijklmnopqrstuvwxyz";
p = (packet_t*)d;
printf("struct size = %d\n", sizeof(packet_t));
printf("flag = %c\n", p->flag);
printf("message = %c%c%c%c%c\n", p->payload.message[0], p->payload.message[1], p->payload.message[2], p->payload.message[3], p->payload.message[4]);
return(0);
}