Un peu de pointer en C ?

Pour ceux qui ne se rappellent plus, de leurs vieux cours de C.
Un petit exercice:

#include <stdlib.h>
#include <stdio.h>
 
 
int main(int argc, char **argv)
{
        void *a;
        a=malloc(sizeof(int)*2);
        *(int*)a=0x12345678;
        *((int*)a+1)=0xABCD0EF0;
        printf("0x%X 0x%X [0x%lX]", *(int*)a , *((int*)a+1) , *(long*)(a));
        return 0;
}