fermath
2004-08-25 10:32:04 UTC
Hola,
A ver si alguien me puede ayudar. Ahora el C99 incorpora arrays de
longitud variable. Yo cuando queria una matriz cuya longitud solo conocia
en tiempo de ejecución pues declaraba un doble puntero y luego
malloc o calloc a saco, algo como;
int **matriz;
matriz=calloc(num_filas, sizeof(int *));
for(i=0;i<num_filas;i++)
matriz[i]=calloc(num_columnas,sizeof(int));
Ahora con el C99 todo eso se reduce a
int matriz[num_filas][num_columnas];
La pregunta es: ¿qué es más eficiente en términos de tiempo CPU
consumido (el calloc consume bastante tiempo CPU según creo) y en
términos de gestión de memoria?
Gracias y saludos
A ver si alguien me puede ayudar. Ahora el C99 incorpora arrays de
longitud variable. Yo cuando queria una matriz cuya longitud solo conocia
en tiempo de ejecución pues declaraba un doble puntero y luego
malloc o calloc a saco, algo como;
int **matriz;
matriz=calloc(num_filas, sizeof(int *));
for(i=0;i<num_filas;i++)
matriz[i]=calloc(num_columnas,sizeof(int));
Ahora con el C99 todo eso se reduce a
int matriz[num_filas][num_columnas];
La pregunta es: ¿qué es más eficiente en términos de tiempo CPU
consumido (el calloc consume bastante tiempo CPU según creo) y en
términos de gestión de memoria?
Gracias y saludos