Deutsch   English   Français   Italiano  
<87mskg1j13.fsf@nosuchdomain.example.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!feeder8.news.weretis.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: Top 10 most common hard skills listed on resumes...
Date: Mon, 09 Sep 2024 16:53:12 -0700
Organization: None to speak of
Lines: 48
Message-ID: <87mskg1j13.fsf@nosuchdomain.example.com>
References: <vab101$3er$1@reader1.panix.com> <875xrkxlgo.fsf@bsb.me.uk>
	<vapitn$3u1ub$1@dont-email.me> <87o75bwlp8.fsf@bsb.me.uk>
	<vaps06$3vg8l$1@dont-email.me> <871q27weeh.fsf@bsb.me.uk>
	<20240829083200.195@kylheku.com> <87v7zjuyd8.fsf@bsb.me.uk>
	<20240829084851.962@kylheku.com> <87mskvuxe9.fsf@bsb.me.uk>
	<vaq9tu$1te8$1@dont-email.me> <vbci8r$1c9e8$1@paganini.bofh.team>
	<vbcs65$eabn$1@dont-email.me> <vbekut$1kd24$1@paganini.bofh.team>
	<vbepcb$q6p2$1@dont-email.me> <vbj6ii$1q6mh$1@dont-email.me>
	<20240908115827.00007521@yahoo.com> <vbju6l$1sqao$2@dont-email.me>
	<87zfoikve1.fsf@bsb.me.uk> <vbkka9$201ms$2@dont-email.me>
	<vbnv43$2igdn$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 10 Sep 2024 01:53:13 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="29df7bbfeaa4d6ddeb7fdca1349b4e93";
	logging-data="2700065"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/+Vo9AFv4n01zljSitD1e2"
User-Agent: Gnus/5.13 (Gnus v5.13)
Cancel-Lock: sha1:0FTm05tbWHpUwdW8VWrQeUc+6uk=
	sha1:7S4/mEqe1eEhNSInb6mcy1U1c8w=
Bytes: 3159

Bart <bc@freeuk.com> writes:
> On 08/09/2024 17:44, Bart wrote:
>> On 08/09/2024 16:39, Ben Bacarisse wrote:
>>> Bart <bc@freeuk.com> writes:
>>>
>>>> In language like C, the LHS of an assignment is one of four categories:
>>>>
>>>>    A = Y;         // name
>>>>    *X = Y;        // pointer
>>>>    X[i] = Y;      // index
>>>>    X.m = Y;       // member select
>>>
>>> I can think of three others.  There may be more.
>> OK, so what are they?
>
> TM:
>>Yes, very good.  I count four or five, depending on what
> differences count as different.
>
> I guess nobody is going to say what those extra categories are, are they?

The LHS of an assignment must be a modifiable lvalue.  Searching for the
word "lvalue" in the standard's section on expressions yields several
forms not listed above:

- A parenthesized lvalue:
  (A) = Y;

- A generic selection whose result expression is an lvalue:
  _Generic(0, int: A) = Y;
  Not sure why you'd do this.

- X->m, where X is a pointer (you might think of that as the same
  category as X.m, but the standard doesn't define the -> operator in
  terms of the . operator)

- A compound literal:
  int n;
  (int){n} = 42;

  This assigns a value to a temporary object which is immediately
  discarded.  I can't think of a valid use for this.

[...]

-- 
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */