En C, tengo una serie de estructuras define como:¿Resultado de 'sizeof' en la matriz de estructuras en C?
struct D
{
char *a;
char *b;
char *c;
};
static struct D a[] = {
{
"1a",
"1b",
"1c"
},
{
"2a",
"2b",
"2c"
}
};
me gustaría para determinar el número de elementos de la matriz, pero sizeof(a)
devuelve un resultado incorrecto: 48, No 2. ¿Estoy haciendo algo mal, o es sizeof
simplemente no confiable aquí? Si es importante, estoy compilando con GCC 4.4.
Ver http://stackoverflow.com/questions/1598773/is-there-a-standard-function-inc-c-hat-would-return-the-length-of-an-array/1598827#1598827 for una respuesta que incluye algunos hacks para hacer que las técnicas publicadas a continuación sean más seguras. –