Como imprimir o endereço de um ponteiro em C

int a = 42;

printf("%p\n", (void *) &a);