The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: "Michael Kjörling" <michael@kjorling.se>
To: tuhs@minnie.tuhs.org
Subject: Re: [TUHS] v7 K&R C
Date: Sat, 25 Apr 2020 20:07:03 +0000	[thread overview]
Message-ID: <9900c104-6f80-4b35-ae53-08b95c9dfbdf@localhost> (raw)
In-Reply-To: <2050076633.160857.1587841270567@mail.yahoo.com>

On 25 Apr 2020 19:01 +0000, from blstuart@bellsouth.net (Brian L. Stuart):
>  On Saturday, April 25, 2020, 09:52:45 AM EDT, Hellwig Geisse <hellwig.geisse@mni.thm.de> wrote:
>> The subject can be looked at from another angle. Consider
>> the call f(42). This might be read as first naming f (and
>> thus constructing a pointer to f) and then calling the
>> function which the pointer is pointing to.
> 
> This is the way that I've taken to looking at it for the
> last 10 years or so. In fact, I see it as the same thing
> as an array. Specifically, I've taken to thinking of []
> as a postfix indexing operator and () as a postfix
> calling operator, and the thing on the left is a pointer
> in both cases.

That's an interesting way of looking at it.

I was thinking: couldn't we apply the same kind of reasoning to
variables as well?

Bear with me for a second.

If we have

  int z = 123;

then "z" is a mnenomic way of referring to an int-sized memory
location, which after initialization holds the value 123. In C, we can
take the address of any variable stored in memory, and we can
dereference any address into memory. (How _meaningful_ especially the
latter is varies, particularly on memory-protected architectures, but
it's still possible.)

So, is there any material difference between

  printf("%d", z);

and

  printf("%d", *(&z));

If there is, then certainly GCC isn't indicating that it's there. Both
print 123, and both variants compile cleanly even with -Wall -pedantic.

OpenBSD clang 8.0.1 cc also gives identical output for both variants.

So if "z" and "*(&z)" (take the address of z, then dereference that
address, then use the value stored there) are equivalent, then in the
name of consistency, why _shouldn't_ f() and (*f)() (dereference the
address of f, then call) also be equivalent? After all, what is "f"
here, other than a mnenomic name for a memory location?

-- 
Michael Kjörling • https://michael.kjorling.se • michael@kjorling.se
 “Remember when, on the Internet, nobody cared that you were a dog?”


  reply	other threads:[~2020-04-25 20:17 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-25 13:11 Noel Chiappa
2020-04-25 13:18 ` Rob Pike
2020-04-25 14:57   ` Warner Losh
2020-04-25 16:13     ` [TUHS] C and C++ Regrets ron
2020-04-25 18:03   ` [TUHS] v7 K&R C Noel Chiappa
2020-04-25 20:11     ` Michael Kjörling
2020-04-25 21:27       ` Brian L. Stuart
2020-04-26  0:07     ` emanuel stiebler
2020-04-26  0:54     ` Rob Pike
2020-04-26 19:37     ` Derek Fawcus
2020-04-26 20:10       ` Derek Fawcus
2020-04-26 21:59         ` Rich Morin
2020-04-26 22:38         ` Noel Hunt
2020-04-26 23:57         ` Nemo Nusquam
2020-04-27  3:38           ` Rob Pike
2020-04-25 13:35 ` Hellwig Geisse
2020-04-25 13:59   ` Richard Salz
2020-04-25 19:01   ` Brian L. Stuart
2020-04-25 20:07     ` Michael Kjörling [this message]
2020-04-25 21:34       ` Brian L. Stuart
2020-04-26  6:40     ` arnold
2020-04-27 18:47       ` [TUHS] s-for-v7, was " Adam Thornton
  -- strict thread matches above, loose matches on Subject: below --
2020-05-19 12:29 [TUHS] " Noel Chiappa
2020-05-19  2:29 Doug McIlroy
2020-05-19  3:20 ` Steve Nickolas
2020-05-18 14:33 Doug McIlroy
2020-05-18 13:58 Doug McIlroy
2020-05-16 18:45 Richard Tobin
2020-05-16 21:55 ` Ronald Natalie
2020-05-16  0:15 Nelson H. F. Beebe
2020-05-16  0:28 ` Steffen Nurpmeso
2020-05-16  1:52 ` Warner Losh
2020-05-16 16:31   ` Paul Winalski
2020-05-16 20:35     ` Brad Spencer
2020-05-16 20:37       ` Warner Losh
2020-05-18 12:25     ` Tony Finch
2020-05-15 21:31 Richard Tobin
2020-05-15 21:53 ` Steve Nickolas
2020-05-15 22:33   ` ron
2020-05-15 23:34     ` Steffen Nurpmeso
2020-05-16  1:26       ` Larry McVoy
2020-05-16 21:59       ` Ronald Natalie
2020-05-16 23:26         ` Steffen Nurpmeso
2020-05-17 16:24           ` Paul Winalski
2020-05-17 16:29             ` ron
2020-05-17 16:38               ` Paul Winalski
2020-05-17 20:08                 ` Clem Cole
2020-05-18  8:46                   ` Peter Jeremy
2020-05-19  7:41                     ` Dave Horsfall
2020-05-18 12:04             ` Tony Finch
2020-05-18 13:10               ` Clem Cole
2020-05-18 15:13             ` Rich Morin
2020-05-18 15:51               ` Brantley Coile
2020-05-18 16:11             ` Dan Cross
2020-05-18 21:18               ` ron
2020-05-17 16:10 ` Derek Fawcus
2020-05-17 16:14   ` ron
2020-05-15 20:34 Doug McIlroy
2020-05-15 20:40 ` Warner Losh
2020-05-14 18:41 Doug McIlroy
2020-05-14 18:45 ` Richard Salz
2020-05-14 20:54 ` Clem Cole
2020-05-15  2:44 ` Rob Pike
2020-05-15  3:57   ` Rich Morin
2020-05-15  7:55   ` Dr Iain Maoileoin
2020-05-15 15:01     ` Larry McVoy
2020-05-15 15:36       ` John P. Linderman
2020-05-15 20:01         ` ron
2020-05-15 20:03           ` Larry McVoy
2020-05-15 20:05           ` Clem Cole
2020-05-15 20:18             ` ron
2020-05-15 20:24               ` Clem Cole
2020-05-16  0:57               ` Brantley Coile
2020-05-16 16:14                 ` Dan Cross
2020-05-15 20:56           ` Steve Nickolas
2020-05-16  0:31             ` Peter Jeremy
2020-05-16  8:30               ` Steve Nickolas
2020-05-16  0:43           ` John P. Linderman
2020-05-16 16:28             ` Paul Winalski
2020-05-16 17:39               ` Warner Losh
2020-05-19 19:45                 ` Peter Pentchev
2020-05-20  3:52                   ` Rich Morin
2020-05-21 15:06                     ` Dave Horsfall
     [not found] <mailman.1.1589421601.13778.tuhs@minnie.tuhs.org>
2020-05-14  3:02 ` Paul McJones
2020-05-14 17:08   ` Paul Winalski
2020-05-14 17:58     ` Clem Cole
2020-04-27 17:45 Noel Chiappa
2020-04-27 17:56 ` Richard Salz
2020-04-27 18:02 ` Brantley Coile
2020-04-27 18:47 ` Derek Fawcus
2020-04-25 19:41 Noel Chiappa
2020-04-25 20:27 ` Steffen Nurpmeso
2020-04-25  1:59 Adam Thornton
2020-04-25  2:37 ` Charles Anthony
2020-04-25  2:47   ` Adam Thornton
2020-04-25  2:51     ` Rob Pike
2020-04-25  2:54       ` Rob Pike
2020-04-25  3:04         ` Larry McVoy
2020-04-25  3:30           ` Clem Cole
2020-04-25  3:43             ` Larry McVoy
2020-04-25  3:54               ` Jon Steinhart
2020-04-25 11:44                 ` Michael Kjörling
2020-04-25 13:17             ` Dan Cross
2020-05-11  0:28         ` scj
2020-05-11  0:32           ` Rob Pike
2020-05-11  0:57             ` Larry McVoy
2020-05-11 17:32               ` Greg A. Woods
2020-05-11 18:25                 ` Paul Winalski
2020-05-11 18:37                   ` Clem Cole
2020-05-11 19:12                     ` Paul Winalski
2020-05-11 19:57                       ` joe mcguckin
2020-05-11 20:25                         ` Larry McVoy
2020-05-12 17:23                           ` Paul Winalski
2020-05-12 17:35                             ` ron
2020-05-12 17:42                               ` Larry McVoy
2020-05-12 18:36                               ` Paul Winalski
2020-05-13 23:36                             ` Dave Horsfall
2020-05-14  0:42                               ` John P. Linderman
2020-05-14  2:44                                 ` Rich Morin
2020-05-14  3:09                                   ` Charles Anthony
2020-05-14 12:27                                     ` ron
2020-05-14 12:27                                     ` ron
2020-05-14 12:27                                     ` ron
2020-05-14  7:38                                   ` Dave Horsfall
2020-05-14 12:25                                     ` ron
2020-05-14 17:13                                   ` Paul Winalski
2020-05-14 17:21                                 ` Larry McVoy
2020-05-17 16:34                                   ` Derek Fawcus
2020-05-14  4:21                               ` Greg A. Woods
2020-05-14  4:40                                 ` Warner Losh
2020-05-14 17:32                               ` Larry McVoy
2020-05-14 22:32                                 ` Tony Finch
2020-05-16 23:53                                   ` Steffen Nurpmeso
2020-05-17  0:35                                     ` Larry McVoy
2020-05-11 18:37                   ` Larry McVoy
2020-05-11  2:08           ` Lawrence Stewart
2020-05-11 11:36           ` Michael Kjörling
2020-04-25  3:37       ` Dave Horsfall
2020-04-27 13:19       ` Tony Finch
2020-04-25  2:50   ` Adam Thornton
2020-04-25  5:59     ` Lars Brinkhoff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9900c104-6f80-4b35-ae53-08b95c9dfbdf@localhost \
    --to=michael@kjorling.se \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).