Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #401378

Re: Initialization Of Static Pointer Variables

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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