Título: memoria dinamica y funciones Publicado por: m@o_614 en 25 Noviembre 2013, 03:09 am saludos
tengo el siguiente codigo en el que le asigno memoria dinamica a una matriz en lenguaje C para poder ingresarle x numero de datos, el problema que tengo es que si quiero pasarle la matriz a una funcion para dentro de esta asignarle memoria dinamica el programa me truena, pero si se la asigno dentro del main el programa funciona correctamente y no se a que se debe, este es el codigo que me truena: Código
y de esta manera si funciona: Código
de antemano gracias Título: Re: memoria dinamica y funciones Publicado por: rir3760 en 25 Noviembre 2013, 16:45 pm Eso sucede porque en C todo se pasa por valor, si quieres modificar una variable declarada en otra función tienes que hacerlo indirectamente emulando el paso por referencia:
1) La función recibe la dirección en memoria del objeto. 2) Utilizando indirección se accede al objeto apuntado. Ejemplos sobre ello los puede consultar vía el motor de búsqueda de los foros. Si aplicamos eso al primer programa tenemos: Código
Por ultimo y sin temor a repetir: en C la conversión explicita no es necesaria. Un saludo |