Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #401378
| From | bart <bc@freeuk.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Initialization Of Static Pointer Variables |
| Date | 2026-08-21 01:16 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <11685cs$3tt8j$1@dont-email.me> (permalink) |
| References | <11681np$3s8jk$4@dont-email.me> |
On 21/08/2026 00:14, Lawrence D’Oliveiro wrote:
> The C spec goes out of its way to make clear that a NULL pointer does
> not necessarily have the same bit pattern as the integer value zero.
> This in spite of the fact that it is allowed to test a pointer value
> for NULL by comparing it to the integer value zero.
>
> The spec also says that all static variables are initialized to zero
> at program start time. Are pointer variables allowed to be given an
> all-zero bit pattern at this time? Or are they supposed to be
> initialized to the NULL value (if that’s different) instead?
The language would need to ensure that whatever bit-pattern is needed
for NULL, would be written. This means for example that:
static void* A[100000000];
can't occupy the special .bss segment in an executable that takes almost
no space; it would need 0.4 to 0.8GB of init data.
In general it would be a massive PITA, if you have for example arrays of
nested structs which have mixed pointer/non-pointer members.
Imagine allocating such an array like this:
p = malloc(N*sizeof(T));
and you wanted to set all elements to zeros and NULLs. You couldn't for
example do:
memset(p, 0, N*sizeof(T));
as the pointers would not be NULL.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Initialization Of Static Pointer Variables Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-08-20 23:14 +0000
Re: Initialization Of Static Pointer Variables "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-08-20 16:28 -0700
Re: Initialization Of Static Pointer Variables "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-08-20 16:29 -0700
Re: Initialization Of Static Pointer Variables richard@cogsci.ed.ac.uk (Richard Tobin) - 2026-08-20 23:42 +0000
Re: Initialization Of Static Pointer Variables "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-08-21 12:12 -0700
Re: Initialization Of Static Pointer Variables David Brown <david.brown@hesbynett.no> - 2026-08-22 13:12 +0200
Re: Initialization Of Static Pointer Variables steve g <Sgonedes1977@gmail.com> - 2026-08-23 16:01 -0400
Re: Initialization Of Static Pointer Variables Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-08-23 22:16 +0000
Re: Initialization Of Static Pointer Variables Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-08-23 15:29 -0700
Re: Initialization Of Static Pointer Variables David Brown <david.brown@hesbynett.no> - 2026-08-24 10:16 +0200
Re: Initialization Of Static Pointer Variables Richard Harnden <richard.nospam@gmail.invalid> - 2026-08-24 09:45 +0100
Re: Initialization Of Static Pointer Variables Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-08-24 03:04 -0700
Re: Initialization Of Static Pointer Variables David Brown <david.brown@hesbynett.no> - 2026-08-24 12:40 +0200
Re: Initialization Of Static Pointer Variables Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-08-24 13:16 -0700
Re: Initialization Of Static Pointer Variables David Brown <david.brown@hesbynett.no> - 2026-08-25 08:51 +0200
Re: Initialization Of Static Pointer Variables Richard Harnden <richard.nospam@gmail.invalid> - 2026-08-25 12:20 +0100
Re: Initialization Of Static Pointer Variables richard@cogsci.ed.ac.uk (Richard Tobin) - 2026-08-23 22:28 +0000
Cryptographic zero initialization (was: Re: Initialization Of Static Pointer Variables) Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-08-24 19:26 +0800
Re: Initialization Of Static Pointer Variables Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-08-20 16:52 -0700
Re: Initialization Of Static Pointer Variables James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-08-20 20:12 -0400
Re: Initialization Of Static Pointer Variables bart <bc@freeuk.com> - 2026-08-21 01:16 +0100
Re: Initialization Of Static Pointer Variables Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-08-20 17:53 -0700
Re: Initialization Of Static Pointer Variables James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-08-20 23:01 -0400
Re: Initialization Of Static Pointer Variables Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-08-21 08:02 +0000
Re: Initialization Of Static Pointer Variables scott@slp53.sl.home (Scott Lurndal) - 2026-08-21 14:53 +0000
Re: Initialization Of Static Pointer Variables richard@cogsci.ed.ac.uk (Richard Tobin) - 2026-08-21 15:28 +0000
Re: Initialization Of Static Pointer Variables David Brown <david.brown@hesbynett.no> - 2026-08-21 09:12 +0200
Re: Initialization Of Static Pointer Variables David Brown <david.brown@hesbynett.no> - 2026-08-21 09:03 +0200
Re: Initialization Of Static Pointer Variables Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-08-21 17:54 +0800
Re: Initialization Of Static Pointer Variables Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-08-21 17:50 +0800
Re: Initialization Of Static Pointer Variables Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-08-21 06:02 -0700
csiph-web