Re: NULL and zeros
- From: Yevgen Muntyan <muntyan.removethis@xxxxxxxx>
- Date: Tue, 03 Oct 2006 19:53:58 GMT
Richard Heathfield wrote:
Christopher Layne said:
Richard Heathfield wrote:
[defensive programming yadda yadda]
I meant it is *implied* and was not written because it wasn't relevant to
the discussion at hand.
I understood what you meant by "implied", and my previous answer to that point remains valid IMHO.
You clipped my last segment.
Oops.
If a machine expressed integer 0 as all 1 bits internally, and I called
memset(&object, 0, sizeof(object)); that's going to result in object set
to all 0 bits?
Yes, it must. The machine's bizarre internal representation does not excuse the implementation from its obligations. The semantics of memset(&object, 0, sizeof(object)) is "starting at the address indicated by object, set sizeof(object) bytes to the value (unsigned char)0". If object has integer type then that process must have the effect of setting object's value to 0. If it has some other type, however, there is no such requirement.
Standard says in 7.20.3.1: "The calloc function allocates space for an array of nmemb objects, each of whose size
is size. The space is initialized to all bits zero."
It looks like "starting at the address indicated by object, set
> sizeof(object) bytes to the value (unsigned char)0" is your own
interpretation caused by the knowledge of real world computers and
compilers :)
Anyway, this newsgroup is not comp.std.c is it? So you are playing
games with standard here; you are saying "On some machines, that isn't
the case. If you are excluding such machines, you are in the wrong newsgroup.", and it's no good. Show me chunk of real world code
which will work on any machine covered by standard; or stop pretending
C doesn't mean a programming language used in real world.
The question was specifically about existence of machines with certain
properties, for a real world application, not about whether standard
says yes or no about some particular thing.
Regards,
Yevgen
.
- Follow-Ups:
- Re: NULL and zeros
- From: Richard Heathfield
- Re: NULL and zeros
- From: Michael Mair
- Re: NULL and zeros
- From: Christopher Layne
- Re: NULL and zeros
- References:
- NULL and zeros
- From: Yevgen Muntyan
- Re: NULL and zeros
- From: Eric Sosman
- Re: NULL and zeros
- From: Yevgen Muntyan
- Re: NULL and zeros
- From: Eric Sosman
- Re: NULL and zeros
- From: Yevgen Muntyan
- Re: NULL and zeros
- From: Christopher Layne
- Re: NULL and zeros
- From: Yevgen Muntyan
- Re: NULL and zeros
- From: Richard Heathfield
- Re: NULL and zeros
- From: Christopher Layne
- Re: NULL and zeros
- From: Richard Heathfield
- Re: NULL and zeros
- From: Christopher Layne
- Re: NULL and zeros
- From: Richard Heathfield
- Re: NULL and zeros
- From: Christopher Layne
- Re: NULL and zeros
- From: Richard Heathfield
- NULL and zeros
- Prev by Date: Re: About Visual C++ 2005 Express Edition
- Next by Date: Re: Fixed
- Previous by thread: Re: NULL and zeros
- Next by thread: Re: NULL and zeros
- Index(es):
Relevant Pages
|