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


Groups > comp.lang.c > #150070

Re: Offsetof with array elements

From Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups comp.lang.c
Subject Re: Offsetof with array elements
Date 2020-02-18 01:43 -0800
Organization A noiseless patient Spider
Message-ID <86y2t0dydh.fsf@linuxsc.com> (permalink)
References (1 earlier) <r1ug0k$fvk$1@gioia.aioe.org> <0150dd64-4217-49bc-88d0-e8f8925a9dd2@googlegroups.com> <r1up93$p7n$1@dont-email.me> <r1urgn$856$1@gioia.aioe.org> <r1vsm9$o3p$1@dont-email.me>

Show all headers | View raw


James Kuyper <jameskuyper@alumni.caltech.edu> writes:

> On 2/11/20 1:24 PM, Manfred wrote:
>
>> On 2/11/2020 6:46 PM, David Brown wrote:
>>
>>> On 11/02/2020 17:32, James Kuyper wrote:
>>>
>>>> "The array-subscript [ ] operator ... may be used in the creation of
>>>> an address constant, but the value of an object may not be accessed by
>>>> the use of [that] operator."  (6,6p9).
>>>
>>> Right.  So since the expression "offsetof(struct S, a[i])" has to access
>>> the object "i" in order to calculate the address (or the offset, in this
>>> case), it is disallowed?
>>
>> It sound to me like this part says the address constant creation /is/
>> allowed, since the object is not accessed, i.e. its address is not
>> dereferenced.
>
> The relevant object is "i", not S. And it's the value of the object, not
> it's address, which, if accessed, violates that rule.  The value stored
> in 'i' is needed to determine that offset, so this construct does
> violate that rule.

It isn't the use of [] that accesses an object.  It is the lvalue
conversion of 'i' that accesses an object.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Offsetof with array elements David Brown <david.brown@hesbynett.no> - 2020-02-11 15:31 +0100
  Re: Offsetof with array elements Guillaume <message@bottle.org> - 2020-02-11 16:08 +0100
    Re: Offsetof with array elements James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-11 08:32 -0800
      Re: Offsetof with array elements David Brown <david.brown@hesbynett.no> - 2020-02-11 18:46 +0100
        Re: Offsetof with array elements Manfred <noname@add.invalid> - 2020-02-11 19:24 +0100
          Re: Offsetof with array elements Manfred <noname@add.invalid> - 2020-02-11 19:36 +0100
          Re: Offsetof with array elements James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-11 22:50 -0500
            Re: Offsetof with array elements Manfred <noname@add.invalid> - 2020-02-12 13:53 +0100
            Re: Offsetof with array elements Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-18 01:43 -0800
    Re: Offsetof with array elements Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-18 01:39 -0800
  Re: Offsetof with array elements Bart <bc@freeuk.com> - 2020-02-11 16:56 +0000
    Re: Offsetof with array elements David Brown <david.brown@hesbynett.no> - 2020-02-11 18:49 +0100
  Re: Offsetof with array elements Bonita Montero <Bonita.Montero@gmail.com> - 2020-02-11 21:00 +0100
    Re: Offsetof with array elements Bart <bc@freeuk.com> - 2020-02-11 20:13 +0000
      Re: Offsetof with array elements Bonita Montero <Bonita.Montero@gmail.com> - 2020-02-11 21:24 +0100
        Re: Offsetof with array elements Bart <bc@freeuk.com> - 2020-02-11 20:33 +0000
          Re: Offsetof with array elements Bonita Montero <Bonita.Montero@gmail.com> - 2020-02-11 21:39 +0100
            Re: Offsetof with array elements Bart <bc@freeuk.com> - 2020-02-11 20:48 +0000
    Re: Offsetof with array elements David Brown <david.brown@hesbynett.no> - 2020-02-12 10:56 +0100
      Re: Offsetof with array elements Bonita Montero <Bonita.Montero@gmail.com> - 2020-02-12 14:07 +0100
        Re: Offsetof with array elements David Brown <david.brown@hesbynett.no> - 2020-02-12 15:24 +0100
    Re: Offsetof with array elements Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-12 10:39 +0000
      Re: Offsetof with array elements Bonita Montero <Bonita.Montero@gmail.com> - 2020-02-12 14:08 +0100
        Re: Offsetof with array elements James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-12 05:29 -0800
          Re: Offsetof with array elements James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-12 11:45 -0800
        Re: Offsetof with array elements Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-12 17:50 +0000
      Re: Offsetof with array elements Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-16 02:41 -0800
        Re: Offsetof with array elements Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-16 11:18 +0000
    Re: Offsetof with array elements already5chosen@yahoo.com - 2020-02-13 02:42 -0800
      Re: Offsetof with array elements James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-14 00:20 -0500
        Re: Offsetof with array elements David Brown <david.brown@hesbynett.no> - 2020-02-14 08:24 +0100
          Re: Offsetof with array elements already5chosen@yahoo.com - 2020-02-14 03:59 -0800
            Re: Offsetof with array elements David Brown <david.brown@hesbynett.no> - 2020-02-14 15:25 +0100
              Re: Offsetof with array elements already5chosen@yahoo.com - 2020-02-16 03:15 -0800
                Re: Offsetof with array elements David Brown <david.brown@hesbynett.no> - 2020-02-16 14:09 +0100
                Re: Offsetof with array elements already5chosen@yahoo.com - 2020-02-16 06:36 -0800
          Re: Offsetof with array elements James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-15 08:18 -0500
            Re: Offsetof with array elements David Brown <david.brown@hesbynett.no> - 2020-02-15 15:49 +0100
  Re: Offsetof with array elements fir <profesor.fir@gmail.com> - 2020-02-12 04:40 -0800
  Re: Offsetof with array elements "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2020-02-16 16:03 -0800

csiph-web