Cita:
Iniciado por Instru Pero si despues de p=cadena pones un malloc....imaginate que stas reservando memoria donde ya esta reservada...............
Te digo lo mismo que le dijiste a BLEND: Estas un poco confundido, pero se notan las ganas de aprender.
Obviamente que ese codigo no tiene mucho sentido, o usas memoria dinamica o estatica pero tal como esta hecho p es una variable de tipo puntero a char totalmente independiente de cadena. Primero le es asignado el valor de cadena y despues el que devuelva malloc, no estas reservando NADA sobre memoria ya reservada ya que no esta asignandole ningun valor a *p sino a p.