![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| UNIX para usuarios avanzados y expertos Experto a experto. Aprender avanzada UNIX, los comandos de UNIX, Linux, Sistemas Operativos, Administración de Sistemas, Programación, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| preguntas en memset | arunkumar_mca | UNIX for Dummies Preguntas y Respuestas | 7 | 08-09-2007 01:08 PM |
| memset sobre fuction | ranj @ CHN | Programación de Alto Nivel | 3 | 01-31-2006 08:59 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
memset vs calloc
Queridos amigos,
Cualquiera puede decirme la diferencia entre la función memset calloc y en C. Recuerdos, Selvi |
|
||||
|
memset () inicializa cadenas de bytes a un usuario que suministra valor se limita a la gama unsigned char. No asignar cualquier memoria.
calloc () asigna memoria de cualquier tipo (char, int, struct) y de almacenamiento que inicializa a ceros. Ambos inicializar un área de almacenamiento [memset () es el más exclusivo de las dos funciones], pero sólo uno asigna memoria para el almacenamiento de un determinado tipo de objeto. |
|
||||
|
calloc () se usa generalmente para crear matrices. Es como malloc () en el sentido de que asigna la memoria, pero calloc () trébol como señala establece la memoria asignada a 0.
El efecto de calloc () es el mismo que hace malloc () seguido de memset (). |
|
||||
|
Queridos amigos,
Gracias por su respuesta. En realidad cuando yo estaba leyendo el código de la traceroute que vi la siguiente declaración. outip \u003d (struct ip *) malloc ((sin firmar) packlen); if (outip \u003d\u003d NULL) ( Fprintf (stderr, "% s: malloc:% s \ n", prog, strerror (errno)); exit (1); ) memset ((char *) outip, 0, packlen); outip es de dato struct ip *. packlen es el tamaño de la bolsa (es decir, 40 bytes). Mi duda es ¿por qué aquí no utiliza la función calloc. Recuerdos, Selvi. |
|
||||
|
Que es más antiguo código C (malloc moderna porque no puede y debería ser emitidos).
Estoy adivinando: Algunas implementaciones mayores calloc tenido problemas en realidad la reducción a cero de la memoria asignada. Así que tal vez el codificador supo se trataba de un problema. Además, calloc hace llamar a un equivalente de memset de todos modos - lo que corresponde a ustedes elegir cuál usar: malloc + memset o calloc. Yo personalmente rara vez uso calloc. |
|
||||
|
La razón es que calloc () implica gama de acceso. Ellos no son el tratamiento de la zona de memoria como una matriz aquí lo que el uso malloc (). calloc () se utiliza muy poco me parece a mí, y en este caso no tendría ningún sentido utilizar. Piénsalo, ¿qué hacer una serie de en este caso, ¿de qué tipo?
|
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|