This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: string variables and literals
- To: Alexandre Oliva <aoliva at redhat dot com>
- Subject: Re: string variables and literals
- From: sidster <patrick at mail dot boxsoft dot com>
- Date: Wed, 30 Aug 2000 21:33:06 -0700
- Cc: Eric Lemings <elemings at uswest dot net>, gcc at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org
- References: <39ADD1B8.F5C9BF24@uswest.net> <orn1hum683.fsf@guarana.lsd.ic.unicamp.br>
Greetings,
* Alexandre Oliva (aoliva@redhat.com) [20000830 21:05]:
> On Aug 31, 2000, Eric Lemings <elemings@uswest.net> wrote:
>
> > Just as s3 was initialized with a copy of its string literal,
> > shouldn't s4 be intialized with the location of a copy of the string
> > literal placed in some arbitrary part of writable memory?
>
> No, it shouldn't. But it might, if someone contributes a patch to
> assign strings stored in pointers to non-const char to writable
> memory. I don't know how hard it would be to do it.
I may be missing something (mis-understanding this discussion or
something) but what is the utility of such a patch?
When you have code like:
char* p = "some string";
'p' is a pointer to a constant static string. The memory location
pointed to by 'p' should not be modifiable.
The compiler doesn't warn about this but the user should be smart enough
to realize s/he can't modify the character array pointed to by 'p'.
This is one of the frist things you are tought when learning C.
patrick
--
when i grow up i want to be a famous rock'n roll guitar player
-- steve vai