> printf("%d %d\n", sizeof(first), sizeof(second)); } But the code does sizeof *first and sizeof *second Stephan's write, the memset is bug that slipped through.