Título: duda con malloc Publicado por: toshibb en 25 Abril 2018, 17:18 pm Código: #include<stdio.h> Porque funcionan los dos? Se que con cadena si la intento desreferenciar se producira un error o sea que no podria hacer *cadena="hola" sin embargo con *pi=5 si puedo y no se produce error Un saludo y gracias Título: Re: duda con malloc Publicado por: MAFUS en 25 Abril 2018, 17:39 pm Código: int *pi; Código: pi=5; ¿Por qué funciona el programa? Porqué un puntero es un caso especial de dato entero sin signo así que le puedes dar cualquier número de esta clase que quieras. Código: printf("%d\n",pi); Código: char *cadena; Código: cadena="hola"; Título: Re: duda con malloc Publicado por: gitii en 26 Abril 2018, 00:06 am Yo tambien estoy empezando con memoria dinamica... Cual seria el codigo correcto?
Título: Re: duda con malloc Publicado por: gitii en 26 Abril 2018, 00:41 am Me he atrevido a hacerlo creo que seria tal que asi:
Código: #include<stdio.h> Título: Re: duda con malloc Publicado por: MAFUS en 26 Abril 2018, 00:50 am Muy bien.
Título: Re: duda con malloc Publicado por: gitii en 26 Abril 2018, 00:52 am MAFUS lo dejarias asi o le harias algun cambio o alguna sugerencia? gracias
Título: Re: duda con malloc Publicado por: MAFUS en 26 Abril 2018, 00:56 am En código de producción debes comprobar que malloc no ha devuelto NULL, que es su comportamiento cuándo no encuentra memoria suficiente, y resolver esa novedad. Pero para lo demás, ok. Incluso puedes eliminar eso de llevar a NULL los punteros si no los vas a usar más, pero es buena práctica eso de marcarlos con NULL.
Título: Re: duda con malloc Publicado por: gitii en 26 Abril 2018, 01:08 am Codigo final:
Código: #include<stdio.h> |