Klaus Herrmann <Klaus.Herrmann(at)gmx.net> wrote:
> > char *s = "Hello";
> >
> > Das ist eine Stringkonstante.
> warum? das ist doch ein pointer to char, kein const char*? Ich denke,
> den müsste ich schreiben können.
K&R v2, A2.6 String Literals:
"Whether identical string literals are distinct is implementation-
defined, and the behavior of a program that attempts to alter a string
literal is undefined."
Irgendwie kann ich gerade weder die englische noch die deutsche
C-FAQ finden (sind die aus dem Usenet verschwunden?), aber ich
erinnere mich deutlich, dass das dort auch breitgetreten wird.
> > Die koennte der Compiler im Textsegment ablegen, wenn er wollte -
> > und das ist Read-Only.
> hmm, merkwürdig, davon hab ich noch in keinem buch was gesehen.
Da, wo du herkommst, mag das anders sein, aber in der Unix-Welt
ist es so.
(Ich habe gerade mal ein Hello-World compiliert und mit objdump
das ELF-Executable angeschaut. Das Stringliteral landet in einem
Segment namens ".rodata".)
-- Christian "naddy" Weisgerber naddy(at)mips.rhein-neckar.de To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Thu 29 Jul 1999 - 02:34:15 CEST