Resultado de 'sizeof' en matriz de estructuras en C?

En C, tengo una serie de estructuras definidas como:

struct D
{
    char *a;
    char *b;
    char *c;
};

static struct D a[] = {
    {
        "1a",
        "1b",
        "1c"
    },
    {
        "2a",
        "2b",
        "2c"
    }
};

Me gustaría determinar el número de elementos en la matriz, perosizeof(a) devuelve un resultado incorrecto: 48, no 2. ¿Estoy haciendo algo mal o essizeof Simplemente no es confiable aquí? Si importa estoy compilando conGCC 4.4.

Respuestas a la pregunta(3)

Su respuesta a la pregunta