Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda sobre mallocar..

Estas en el tema de Duda sobre mallocar.. en el foro de C/C++ en Foros del Web. Hola, tengo una duda sencilla. Tengo un parcial mañana y me gustaria asegurarme de este problema. Es asi, yo tengo una estructura de informacion (supongamos ...
  #1 (permalink)  
Antiguo 24/09/2008, 13:34
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 2 meses
Puntos: 6
Duda sobre mallocar..

Hola, tengo una duda sencilla.
Tengo un parcial mañana y me gustaria asegurarme de este problema.

Es asi, yo tengo una estructura de informacion (supongamos una lista). Y tengo una funcion CrearLista donde le mando la direccion del dato (por poner un ejemplo, de tipo t_nodo*)

En esa funcion lo unico que hago es poner al puntero en NULL.
El problema es, en el main, cuando declare la variable t_nodo* (la que le mande por argumento a la funcion), lo que me pasa es que si esa variable no hago malloc avecez el programa se rompe dentro de la funcion.

Esto pasa obviamente (creo) porque se declaro en el main y esta en el stack del main.
Pero el tema es, que aveces me pasaba, antes no tenia problemas, ahora me pasa siempre.

Es muy importante hacer siempre el malloc ? el profesor no lo hace.
Se hace, no se hace, que hacer?

Yo en realidad estoy usando VS2008 con el compilador de C, pero con el profesor usamos Borland (el standard).

En borland no pasa esto ? esta sera la razon por la que el profesor no hace malloc ?

Alguien sabe bien?

salu2
  #2 (permalink)  
Antiguo 24/09/2008, 14:20
 
Fecha de Ingreso: marzo-2008
Mensajes: 237
Antigüedad: 16 años, 2 meses
Puntos: 6
Respuesta: Duda sobre mallocar..

Tengo un ejemplo mas simple.
Si tengo un array de char y se lo mando por argumento a una funcion con el fin de en esa funcion modificar ese array.

En el main si no hago malloc del array me da error de stack.
Si lo hago, no.

siempre se hace esto? imposible evitar el malloc?
  #3 (permalink)  
Antiguo 24/09/2008, 15:08
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: Duda sobre mallocar..

borland lleva a muy malas costumbres de programacion.
Si quieres que tu codigo sea seguro, SIEMPRE asigna el espacio con malloc (si es que solamente estas usando C)

Si te permiten usar C++, malloc ya no es necesario, y en vez de eso esta new.

saludos,
  #4 (permalink)  
Antiguo 26/09/2008, 14:48
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Duda sobre mallocar..

depende de lo que quieres hacer ... si no te sientes seguro con funciones hazlo en el mismo main.
No te olvides tampoco de ponerle el * a la variable de lo contrario te saldra el error.
la sintaxis del malloc es la siguiente:
variable=(tipode dato *)malloc(sizeof(tipo de dato)*valor(si es un array));
y el delete es solo con el puntero: delete(variable);
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:04.