Hab ich doch ober erklärt... im Code.

*p_test ist das erste Zeichen des Strings.

*p_test = 'X' ist also gleichbedeutend mit p_test[0] = 'X'

String ist ja kein C-Typ, sondern nur char. Indem du dir die Adresse eines Strings besorgst und diese kopierst, hast du noch nicht den String kopiert. Hatte ich auch obern geschrieben...