Moin Mechthild,
die Startadresse der Zeichenkette p ist dann &p, oder?
Nein, die ist p. Deshalb halte ich auch überhaupt nichts von dem Beispiel-Quelltext, den du gepostet hast, der verwirrt die Leute nur. Bei char *p = "abcd"; ist die Startadresse des Speicherblocks, in dem "abcd" liegen, in p gespeichert. &p gäbe dir die Adresse des Pointers selber zurück, du hättest damit also ein char **.
LG,
CK