[C con Clase] funcionamiento de calloc
Salvador Pozo
salvador en conclase.net
Mar Feb 15 15:29:03 CET 2011
El pasado 2011-02-15 14:13:51, Xan Bellón escribió:
XB> Hola
XB> Estoy realizando un programa muy sencillo para crear un cuadrado mágico, es
XB> decir, un cuadrado que dado un número entero impar *num*, cree una matriz...
Hola:
He probado el programa, y a mi me funciona.
A primera vista, sin entrar a analizar en profundidad, lo primero que se me ocurre es que estás usando un compilador de 16 bits. En ese caso, un puntero ocupa el doble que un int, y la instrucción:
matriz = (int**)malloc((num) * sizeof (int));
no es equivalente a la correcta, que sería:
matriz = (int**)malloc((num) * sizeof (int*));
Ten en cuenta que "matriz" debe almacenar punteros a int, no ints.
Entiendo que es un error, aunque en una plataforma en la que los punteros y los enteros ocupen lo mismo no tenga importancia.
Hasta pronto.
--
Salvador Pozo (Administrador)
mailto:salvador en conclase.net
Más información sobre la lista de distribución Cconclase