<div dir="ltr">Hola Facundo,<div class="gmail_extra"><br><div class="gmail_quote">2014-04-25 0:41 GMT-04:00 Facundo Curti <span dir="ltr"><<a href="mailto:facu.curti@gmail.com" target="_blank">facu.curti@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="">Gracias por la respuesta! Me has aclarado mucho! :)<br>
</div>
<br></blockquote><div><br></div><div>De nada; para eso estamos.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

Y si hago:<br>
<br>
char* cadena = "Hola mundo"<br>
<br>
Se reservan automáticamente las 12 posiciones en memoria? O tengo que<br>
antes haber definido el tamaño con el new?<br>
<div class=""><div class="h5"><br></div></div></blockquote><div><br></div><div>Veamos. Esta situación es algo diferente. Aquí tenemos una cadena literal, que el compilador gestionará. Esto significa que el compilador se encarga de guardar la cadena literal en la memoria del programa, cuando éste se cargue y se ejecute.</div>
<div><br></div><div>El lenguaje de C++ indica que el tipo de dato de una cadena literal es 'const char *'. Esto implica que no puedes inicializar el puntero 'cadena' con el tipo 'char *', porque significa que puedes modificar su contenido. Por lo tanto, debes definir 'cadena' así:<br>
<br>const char *cadena = "Hola mundo";<br></div><div><br></div><div><br></div><div>Si no te interesa cambiar el tipo de puntero de 'cadena', entonces tienes que crear la memoria dinámicamente y copiar el contenido de la cadena literal al array dinámico que acabas de crear. Por ejemplo,</div>
<div><br></div><div>char *cadena = new char[11];</div><div><br></div><div>memcpy( cadena, "Hola mundo" );  // Se #incluye en <cstring></div><div><br></div><div><br></div><div>La otra alternativa es definir un array; esto es,</div>
<div><br></div><div>char cadena[] = "Hola mundo";</div><div><br></div><div>Aquí, el compilador copiará el contenido de la cadena literal al array estático, 'cadena'.</div><div><br></div><div><br></div><div>
Espero que esto aclare las dudas.</div><div><br></div><div>Steven</div><div><br></div></div></div></div>