Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2013, 09:13
Avatar de L3m0n
L3m0n
 
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Dudas con punteros char.

Buenas, hacía bastante que no hacia nada en C y la verdad es que me han salido un par de dudas.

La primera es: Cuando yo hago una declaración como:
Código C:
Ver original
  1. char *p = "Hola";
Que es lo que hace exactamente el compilador? Quiero decir, se crea un puntero char y también se reserva un espacio de memoria para "Hola", es así? Esto ahorra la llamada a malloc o hace otra cosa?

La segunda es: Cuando creo una función como:
Código C:
Ver original
  1. void a(char * msg)...
Y luego la llamo, que hace el compilador con esa cadena que yo pongo en la función? Lo pone en el stack de la propia función? O hace alguna cosa diferente, y crea la memoria como en la pregunta 1?

Gracias.