Duplicar posible:
c difference between malloc and calloc
Why does calloc require two parameters and malloc just one?¿Cuál es la necesidad de tener parámetros "nmem" y "tamaño" en las funciones C?
me he dado cuenta de esto con muchas funciones C llama especialmente las que tienen que ver con las operaciones de memoria o de archivo, pero no todos ellos utilizan tanto parámetros. Por ejemplo, malloc se pasa un parámetro, el tamaño en bytes del espacio de memoria necesario. Calloc por otro lado pasa dos parámetros, el tamaño en bytes de un elemento y el número de elementos (tamaño y nmem). Hay otras funciones que también usan estos parámetros de tamaño y nmem.
Esencialmente la llamada calloc asignaría la misma cantidad de memoria como llamar a malloc (nmem tamaño) así que todo lo que está sucediendo realmente es el asterisco () se sustituye por una coma (,). Al menos esto es todo lo que puedo decir desde el nivel superior en el que estoy trabajando. No veo la diferencia de llamar a calloc (1, nmem tamaño), calloc (nmem tamaño, 1) o calloc (nmem, tamaño).
¿Hay algo que realmente sucede en un nivel inferior que hace que llamar a calloc (1, nmem * size) sea fundamentalmente diferente de calloc (nmem, tamaño)?
Editar: Sé la diferencia funcional entre calloc y malloc. Me interesa saber por qué hay diferencias en los parámetros. Hay otras funciones que usan 2 parámetros de tamaño para el tamaño total (fread, fwrite, etc.). No me preocupan las funciones específicas, sino más bien por qué hay dos parámetros para el tamaño total utilizado en la función cuando esencialmente el tamaño total se convierte en los dos parámetros multiplicados. La mayoría de las veces, cuando uso estas funciones, utilizo el tamaño que necesito en el parámetro "tamaño" y un "1" para el parámetro "nmem" (a veces "conteo", etc.).
alineación de memoria (en plataformas donde importa) con la forma de dos parámetros. – wallyk
En cuanto a 'malloc()' y 'calloc()' se encuentra una diferencia interessting aquí explicada: http://stackoverflow.com/a/1585987/694576 ... - de todos modos, ¿te importaría indicarnos las otras funciones? , además de los dos últimos, tienes en mente. – alk
@Paciv no es tan un duplicado como esa pregunta y sus respuestas no abordan la diferencia en el número de parámetros. –