[C con Clase] QUE PASA EN LAS ENTRAÑAS DEL "STRCPY"

Mariano Demarchi marchi.hh en gmail.com
Sab Jun 20 20:57:11 CEST 2009


El 20 de junio de 2009 07:57, Programante <programante en gmail.com> escribió:

>
> A lo que yo me refería era al espacio que le da el sistema.
>
> Le pides un byte a malloc()
>  -Malloc decide que te va a dar 32
> Malloc pide al SO una página de memoria
>  -El SO da una página de memoria a tu programa
> Malloc separa 32 bytes y te los da a ti.
>
> Simplemente escribiendo el array sólo obtendrás un fallo de segmentación
> cuando te salgas de la página que te dio el SO.
> Tendrás resultados incorrectos si cambias más allá de lo que te asignó
> malloc (modificas otras variables reservadas dinámicamente, o la
> estructura interna de la
> reserva de memoria, que puede dar violaciones de segmento en free() por
> ejemplo).
>
> Es incorrecto escribir más de un byte en esa memoria (pues es lo único
> que malloc() te garantiza "tuyo").

Estoy totalemente de acuerdo, quizas me exprese mal. Ademas puse que obtenia
error de Segmentation Fault siempre que trataba de escribir en el
desplazamiento 135152 (en bytes)
respecto del puntero devuelto por malloc().
Saludos
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090620/f1c50f7e/attachment.html>


Más información sobre la lista de distribución Cconclase