<br><br><div class="gmail_quote">El 20 de junio de 2009 07:57, Programante <span dir="ltr"><<a href="mailto:programante@gmail.com">programante@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
A lo que yo me refería era al espacio que le da el sistema.<br>
<br>
Le pides un byte a malloc()<br>
 -Malloc decide que te va a dar 32<br>
Malloc pide al SO una página de memoria<br>
 -El SO da una página de memoria a tu programa<br>
Malloc separa 32 bytes y te los da a ti.<br>
<br>
Simplemente escribiendo el array sólo obtendrás un fallo de segmentación<br>
cuando te salgas de la página que te dio el SO.<br>
Tendrás resultados incorrectos si cambias más allá de lo que te asignó<br>
malloc (modificas otras variables reservadas dinámicamente, o la<br>
estructura interna de la<br>
reserva de memoria, que puede dar violaciones de segmento en free() por<br>
ejemplo).<br>
<br>
Es incorrecto escribir más de un byte en esa memoria (pues es lo único<br>
que malloc() te garantiza "tuyo").</blockquote><div></div><div>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)</div>
<div>respecto del puntero devuelto por malloc().</div><div></div><div></div><div>Saludos</div><div></div></div>