Me pregunto por qué sigo recibiendo el error error: flexible array member not at end of struct
cuando llamo malloc. Tengo una estructura con una matriz de longitud variable, y sigo recibiendo este error.¿Cuál es la causa del miembro de matriz flexible que no está al final del error struct?
La estructura es,
typedef struct {
size_t N;
double data[];
int label[];
} s_col;
y la llamada a malloc es,
col = malloc(sizeof(s_col) + lc * (sizeof(double) + sizeof(int)));
¿Es esta la llamada a malloc correcta?
No entiendo, me enseñan que "T * var" es lo mismo que "T var []" – spectre
@ lukasz1985: Lo que dices es cierto en el contexto de un argumento de función, donde puedes especificar " un argumento de manipulación de matriz "que se implementa técnicamente por medio de un puntero. Normalmente (es decir, aquí) una matriz es una matriz, y un puntero es un puntero. – stan423321