[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