• Lunes 18 de Noviembre de 2024, 03:18

Autor Tema:  Malloc Y New  (Leído 1397 veces)

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Malloc Y New
« en: Lunes 28 de Febrero de 2005, 00:05 »
0
pregunta:
   es lo mismo

   char ** tokens;
   tokens = new char * [ numTok ];

   que
   char ** tokens;
   tokens = ( char ** ) malloc( numTok );

y

   tokens[ numTok ] = ( char * ) malloc( end - start + 1 );

   que

   tokens[ numTok ] = new char [ (end - start + 1) ];

   porque con new me funciona y con malloc no...

   gracias.

rir3760

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Malloc Y New
« Respuesta #1 en: Lunes 28 de Febrero de 2005, 01:52 »
0
Cuando utilizas la funcion malloc tienes que indicar el numero de bytes, en tu caso solo estas indicando el numero de elementos. En C estandard se utilizaria:

Código: Text
  1. puntero = malloc(sizeof(char *) * numero_de_elementos);
  2.  

Un saludo
The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz

eliza_marti

  • Miembro MUY activo
  • ***
  • Mensajes: 267
    • Ver Perfil
    • http://www.solocodigo.com
Re: Malloc Y New
« Respuesta #2 en: Lunes 28 de Febrero de 2005, 04:16 »
0
Hola Bob Esponja… :hola: ....la función malloc y free son utilizadas en C y vienen incluidas en la librería <alloc.h>…mira si tienes declarada esa librería…puede ser por eso que no te funcione...ahora la función new y delete son de C++ y vienen incluidas inmediatamente…... no se necesita ningún archivo de cabecera.... :)

Espero que te pueda servir de referencia  :P …Bye!..  :hola:  :sorcerer:
Conserva la Paz con tu Alma en la bulliciosa confusión de la vida, aún con toda su farsa, penalidades y sueños fallidos, el mundo es todavia Hermoso....

http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
[