できれば
a = (int *) malloc(sizeof(int) * size);
だね。

後、私は癖で
if (a) {
 free(a);
 a = NULL;
}
とするかな。