Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: Top 10 most common hard skills listed on resumes... Date: Wed, 11 Sep 2024 17:20:23 -0700 Organization: None to speak of Lines: 30 Message-ID: <874j6lzprs.fsf@nosuchdomain.example.com> References: <87o75bwlp8.fsf@bsb.me.uk> <871q27weeh.fsf@bsb.me.uk> <20240829083200.195@kylheku.com> <87v7zjuyd8.fsf@bsb.me.uk> <20240829084851.962@kylheku.com> <87mskvuxe9.fsf@bsb.me.uk> <87tteqktr8.fsf@bsb.me.uk> <87ttenk2nq.fsf@bsb.me.uk> <875xr3jaz0.fsf@bsb.me.uk> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Thu, 12 Sep 2024 02:20:23 +0200 (CEST) Injection-Info: dont-email.me; posting-host="4b8fa2c92ce4a3b1e07f703ae75bae6f"; logging-data="4055333"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+BQ6rT6f0IZ9MLYyaOfv5k" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:rQ0/rJQ3jd5iXGzvGy6JViPm7cI= sha1:902sU9o6okilH7SatcrEQagqciI= Bytes: 2615 Bart writes: [...] > That is, if something is a legal LHS term, then its syntax, and its > type, are identical to that term appearing on the RHS. > > (And by its type, I mean its base type. So given 'int a,b; a=b;', I'm > talking about 'int' not 'int*'.) > > There can additionally be similarities within internal representations. [...] I don't know why you mention int* or what you mean by "base type". Given int a,b; a=b; there is no explicit or implicit expression or value of type int*. The LHS of the assignment is an lvalue of type int that designates an object. Nothing in C suggests that the object's address is computed as a value of type int*. This is why assignment to bit fields and register-qualified objects don't need to be treated as special cases. Certainly the generated machine code might cause the address of `a` to be computed, but that's an implementation detail. -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */