All pastes #739108 Raw Edit

Stuff

public text v1 · immutable
·published 2007-10-16 21:46 UTC
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);
}