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


Groups > comp.lang.c > #143495 > unrolled thread

Static Arrays Inside Functions

Started by"F. Russell" <fr@random.info>
First post2019-04-27 17:52 +0000
Last post2019-04-29 00:44 -0400
Articles 1 on this page of 21 — 11 participants

Back to article view | Back to comp.lang.c


Contents

  Static Arrays Inside Functions "F. Russell" <fr@random.info> - 2019-04-27 17:52 +0000
    Re: Static Arrays Inside Functions Bart <bc@freeuk.com> - 2019-04-27 19:03 +0100
      Re: Static Arrays Inside Functions Keith Thompson <kst-u@mib.org> - 2019-04-27 13:14 -0700
        Re: Static Arrays Inside Functions David Brown <david.brown@hesbynett.no> - 2019-04-28 00:10 +0200
    Re: Static Arrays Inside Functions Siri Cruise <chine.bleu@yahoo.com> - 2019-04-27 13:40 -0700
    Re: Static Arrays Inside Functions nobody@example.org (Scott) - 2019-04-28 17:26 +0000
      Re: Static Arrays Inside Functions Keith Thompson <kst-u@mib.org> - 2019-04-28 11:29 -0700
        Re: Static Arrays Inside Functions nobody@example.org (Scott) - 2019-04-29 01:17 +0000
          Re: Static Arrays Inside Functions Keith Thompson <kst-u@mib.org> - 2019-04-28 20:09 -0700
          Re: Static Arrays Inside Functions "F. Russell" <fr@random.info> - 2019-04-29 10:33 +0000
            Re: Static Arrays Inside Functions Bart <bc@freeuk.com> - 2019-04-29 11:49 +0100
            Re: Static Arrays Inside Functions Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-04-29 04:50 -0700
            Re: Static Arrays Inside Functions Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-04-29 17:36 +0100
            Re: Static Arrays Inside Functions Keith Thompson <kst-u@mib.org> - 2019-04-29 15:24 -0700
        Re: Static Arrays Inside Functions Ike Naar <ike@iceland.freeshell.org> - 2019-04-29 05:50 +0000
          Re: Static Arrays Inside Functions Ike Naar <ike@iceland.freeshell.org> - 2019-04-29 05:51 +0000
          Re: Static Arrays Inside Functions Keith Thompson <kst-u@mib.org> - 2019-04-29 00:04 -0700
            Re: Static Arrays Inside Functions Ike Naar <ike@iceland.freeshell.org> - 2019-04-29 15:06 +0000
      Re: Static Arrays Inside Functions Mateusz Viste <mateusz@wont.tell> - 2019-04-28 19:20 +0000
        Re: Static Arrays Inside Functions Keith Thompson <kst-u@mib.org> - 2019-04-28 13:50 -0700
    Re: Static Arrays Inside Functions James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-04-29 00:44 -0400

Page 2 of 2 — ← Prev page 1 [2]


#143520

FromJames Kuyper <jameskuyper@alumni.caltech.edu>
Date2019-04-29 00:44 -0400
Message-ID<qa5vem$5mh$1@dont-email.me>
In reply to#143495
On 4/27/19 1:52 PM, F. Russell wrote:
> I need to include a lookup table, via an array, within a library function
> that will be linked to other C programs:
> 
> double some_function(...)
> {
> static double[100] = {55.55, 66.66, ...}
> ...
> }
> 
> I am not sure when this array will actually be initialized.
> 
> Will the array be initialized during compile time so that the
> function code contains the values?

An object is initialized when the memory that has been set aside to
store the object is given it's initial value. No such memory has been
set aside yet until the program starts to run; so initialization cannot
occur until run-time. A C interpreter might have compilation time
overlap run-time, but ordinarily they're easily distinguished.

> Or will the array be initialized during the first call to the function
> and thereafter remain static?

For an object with static storage duration, "Its lifetime is the entire
execution of the program and its stored value is initialized only once,
prior to program startup." (6.2.4p3).

Note, however, there is no way for the "observable behavior" (5.1.2.3p6)
of a strictly conforming program (4p5) to provide evidence
distinguishing between "initialized prior to program startup" and
"initialized during the first call to the function". This is because the
standard never imposes any requirements on how long any expression
should take to execute, so the fact that the first call to a function
would take longer than later calls does not qualify as such evidence.
Therefore, deferring initialization in that fashion would be permitted.

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | comp.lang.c


csiph-web