Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #163947
| From | Meredith Montgomery <mmontgomery@levado.to> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: on understanding & and pointer arithmetic |
| Date | 2021-12-18 11:39 -0300 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <86czlu7zap.fsf@levado.to> (permalink) |
| References | (1 earlier) <spfllt$vkn$1@dont-email.me> <8635msbbcu.fsf@levado.to> <spg6b8$on0$1@dont-email.me> <87a6h08e4a.fsf@nosuchdomain.example.com> <sphmnl$vuo$1@dont-email.me> |
David Brown <david.brown@hesbynett.no> writes: > On 16/12/2021 21:54, Keith Thompson wrote: >> David Brown <david.brown@hesbynett.no> writes: >>> On 16/12/2021 20:25, Meredith Montgomery wrote: >> [...] >>>> Yes, so that corrects me at least once. I didn't think &a would be of a >>>> different type. So the type of &a is array of 13 char. I get that. >>> >>> /No/. "a" is of type "array of 13 char". "&a" is of type "pointer to >>> array of 13 char". These are different. >>> >>>> The value of &a is the same /value/ as &a[0]. I also get that. I'm >>>> good here. >>> >>> Correct. As Ben said (and Ben is very good at explaining things >>> accurately), a pointer has a type and has an address as it's value. So >>> the values of pointers here are the same, but the pointers themselves >>> are different because they have different types. >> >> I don't think I'd say that &a and &a[0] have the same *value*, though it >> depends on just what you mean by "value". > > Yes, indeed it does. As always in threads like these, there is a > balance to be found between trying to have approximate explanations and > terms that are easier for the relative beginner OP, and trying to be as > accurate as possible with precise terms to help the OP get the details > right from the start (and of course there are always other people > reading the thread, who might benefit from more insight). > > Objects in C always have a type, and they contain some sort of data - > which can reasonably be called its "value". For pointers, that will be > the address they contain - the value the OP is getting when he casts > these to an unsigned long and prints them out. > > I know the real picture can be more complicated - different pointer > types can have different sizes, pointers can contain more than just an > address or memory location, two pointers of different types might > contain the same raw value but refer to different address spaces, they > might contain different raw values but refer to the same location and > may or may not compare equal, there can be trap representations, etc. > (That list is not complete.) So what I am writing is "lies to > children", rather than trying to be complete and precise (partly because > others here, such as yourself, are significantly better at that kind of > answer). If you are not familiar with the specific phrase "lies to > children", ask Santa for "The Science of the Discworld" :-) For the record, I enjoyed the simplicity of this (sub)thread. I was trying to understand why my expectation was wrong. So, I was already in some trouble; bringing in more details at that point would not have helped more than not bringing them in. It's also nice to see that the situation is even deeper than I would have thought, though. For instance, right now my intuition is that the size of a pointer on a 64-bit machine is always 8 bytes. Can anyone show an easy example of when this isn't true? [...]
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-16 11:13 -0300
Re: on understanding & and pointer arithmetic Bart <bc@freeuk.com> - 2021-12-16 14:23 +0000
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-16 11:57 -0300
Re: on understanding & and pointer arithmetic Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-12-16 17:42 +0000
Re: on understanding & and pointer arithmetic Bart <bc@freeuk.com> - 2021-12-16 18:14 +0000
Re: on understanding & and pointer arithmetic Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-12-16 21:14 +0000
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-16 16:42 -0300
Re: on understanding & and pointer arithmetic Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-12-16 12:44 -0800
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-18 12:06 -0300
Re: on understanding & and pointer arithmetic Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-12-16 21:34 +0000
Re: on understanding & and pointer arithmetic Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-12-16 14:14 -0800
Re: on understanding & and pointer arithmetic Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-12-16 23:44 +0000
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-18 12:09 -0300
Re: on understanding & and pointer arithmetic David Brown <david.brown@hesbynett.no> - 2021-12-16 16:23 +0100
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-16 16:25 -0300
Re: on understanding & and pointer arithmetic David Brown <david.brown@hesbynett.no> - 2021-12-16 21:08 +0100
Re: on understanding & and pointer arithmetic Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-12-16 12:54 -0800
Re: on understanding & and pointer arithmetic David Brown <david.brown@hesbynett.no> - 2021-12-17 10:53 +0100
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-18 11:39 -0300
Re: on understanding & and pointer arithmetic scott@slp53.sl.home (Scott Lurndal) - 2021-12-18 16:31 +0000
Re: on understanding & and pointer arithmetic David Brown <david.brown@hesbynett.no> - 2021-12-18 18:56 +0100
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-25 21:29 -0300
Re: on understanding & and pointer arithmetic Bart <bc@freeuk.com> - 2021-12-18 18:29 +0000
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-18 11:32 -0300
Re: on understanding & and pointer arithmetic Manfred <noname@add.invalid> - 2021-12-16 21:34 +0100
Re: on understanding & and pointer arithmetic Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-12-16 22:20 +0000
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-18 12:02 -0300
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-18 12:34 -0300
Re: on understanding & and pointer arithmetic Manfred <noname@add.invalid> - 2021-12-18 18:36 +0100
Re: on understanding & and pointer arithmetic Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-12-18 21:17 +0000
Re: on understanding & and pointer arithmetic James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-12-16 18:59 -0500
Re: on understanding & and pointer arithmetic James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-12-16 18:38 -0500
Re: on understanding & and pointer arithmetic Bart <bc@freeuk.com> - 2021-12-16 23:50 +0000
Re: on understanding & and pointer arithmetic "james...@alumni.caltech.edu" <jameskuyper@alumni.caltech.edu> - 2021-12-17 07:34 -0800
Re: on understanding & and pointer arithmetic Bart <bc@freeuk.com> - 2021-12-17 17:48 +0000
Re: on understanding & and pointer arithmetic Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-12-16 23:56 +0000
Re: on understanding & and pointer arithmetic James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-12-16 19:06 -0500
Re: on understanding & and pointer arithmetic Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-12-17 00:10 +0000
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-18 12:32 -0300
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-18 12:30 -0300
Re: on understanding & and pointer arithmetic David Brown <david.brown@hesbynett.no> - 2021-12-17 11:08 +0100
Re: on understanding & and pointer arithmetic Manfred <noname@add.invalid> - 2021-12-17 16:24 +0100
Re: on understanding & and pointer arithmetic David Brown <david.brown@hesbynett.no> - 2021-12-17 18:17 +0100
Re: on understanding & and pointer arithmetic Meredith Montgomery <mmontgomery@levado.to> - 2021-12-18 12:11 -0300
csiph-web