| Deutsch English Français Italiano |
|
<87cynquokr.fsf@nosuchdomain.example.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!2.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Keith Thompson <Keith.S.Thompson+u@gmail.com>
Newsgroups: comp.lang.c
Subject: Re: technology discussion =?utf-8?Q?=E2=86=92?= does the world need
a "new" C ?
Date: Sat, 06 Jul 2024 15:45:40 -0700
Organization: None to speak of
Lines: 27
Message-ID: <87cynquokr.fsf@nosuchdomain.example.com>
References: <v66eci$2qeee$1@dont-email.me> <v67gt1$2vq6a$2@dont-email.me>
<v687h2$36i6p$1@dont-email.me>
<871q48w98e.fsf@nosuchdomain.example.com>
<v68dsm$37sg2$1@dont-email.me>
<87wmlzvfqp.fsf@nosuchdomain.example.com>
<v6ard1$3ngh6$4@dont-email.me> <v6c2d7$3tko2$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 07 Jul 2024 00:45:41 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="31bef4326a7de5d231f958bc2ab73da5";
logging-data="4185240"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18LFds7Hpe4TG0GT8t3nj8R"
User-Agent: Gnus/5.13 (Gnus v5.13)
Cancel-Lock: sha1:mYcPtN+HVEVkT+A1K4AV2nkAT5k=
sha1:mk9IhYPLl6jVxwsyN6JFNFERO8k=
Bytes: 2552
James Kuyper <jameskuyper@alumni.caltech.edu> writes:
[...]
> The key point is that an expression of array type does not always get
> converted into a pointer to the first element of that array. The clause
> above starts out with four exceptions, and an array behaves quite
> differently from a pointer when any of those exceptions apply.
There are three exceptions, not four.
The N1570 draft of C11 incorrectly says:
Except when it is the operand of the sizeof operator, the
_Alignof operator, or the unary & operator, or is a string
literal used to initialize an array, an expression that has
type ‘‘array of type’’ is converted to an expression
with type ‘‘pointer to type’’ that points to the initial
element of the array object and is not an lvalue. If the array
object has register storage class, the behavior is undefined.
There error is that the _Alignof operator (which was added in C11) can
only be applied to a parenthesized type name, not to an expression (I'm
not sure why that is). The C11 standard corrects the error, showing
just the usual three exceptions.
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */