Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #122697
| From | Barry Schwarz <schwarzb@dqel.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Equal yet different pointers |
| Date | 2017-11-16 07:10 -0800 |
| Organization | A noiseless patient Spider |
| Message-ID | <07ar0dphfp7so72i04c0i2j3prflsm7rtc@4ax.com> (permalink) |
| References | <pointers-20171116105459@ram.dialup.fu-berlin.de> <oujpb3$b9s$1@dont-email.me> <elePB.43928$WQ.6569@fx10.am4> <o0vwmrUTPZsfQKOrMb4HiWX4uAv05@bongo-ra.co> |
On Thu, 16 Nov 2017 14:28:13 GMT, Spiros Bousbouras <spibou@gmail.com>
wrote:
>On Thu, 16 Nov 2017 11:09:43 +0000
>bartc <bc@freeuk.com> wrote:
>> On 16/11/2017 10:29, David Brown wrote:
>> > On 16/11/17 11:00, Stefan Ram wrote:
>> >> I did not invent this program, I just read it in an article
>> >> and then typed it in from my memory:
>> >>
>> >> main.c
>> >>
>> >> #include <stdio.h>
>> >> #include <string.h>
>> >>
>> >> int main()
>> >> { int i = 1; int j = 2;
>> >> int * p = &i + 1; int * q = &j;
>> >> if( !memcmp( &p, &q, sizeof( p )))
>> >> { *p = 3; printf( "%d %d\n", *p, *q ); }}
>> >>
>> >> transcript
>> >>
>> >> 3 2
>> >>
<snip>
>First the relevant issue here is whether p and q point to the same object
>not location. As the C standard defines the language , p and q do not point
>to the same object because p does not point to an object at all. I'm not
>sure whether the expression &i + 1 itself is undefined behaviour (I think
>it is) but dereferencing p definitely is.
The expression &i+1 is well defined. In this case, i is treated as an
array of 1 int and it is legal to compute the address of the first
byte past the end of an array.
You are correct that attempting to dereference that address is
definitely undefined.
I wonder if the OP had optimization turned on and the compiler decided
it knew the value of *q and therefore did not need to evaluate it in
the call to printf.
--
Remove del for email
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 11:29 +0100
Re: Equal yet different pointers Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-11-16 03:01 -0800
Re: Equal yet different pointers "Bill Davy" <Bill@XchelSys.co.uk> - 2017-11-16 11:03 +0000
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 13:55 +0100
Re: Equal yet different pointers Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-11-16 06:44 -0800
Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-16 14:49 +0000
Re: Equal yet different pointers Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-11-16 08:28 -0800
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 16:46 +0100
Re: Equal yet different pointers "James R. Kuyper" <jameskuyper@verizon.net> - 2017-11-16 12:29 -0500
Re: Equal yet different pointers Nick Bowler <nbowler@draconx.ca> - 2017-11-17 22:47 +0000
Re: Equal yet different pointers Richard Damon <Richard@Damon-Family.org> - 2017-11-18 17:03 -0500
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-16 11:09 +0000
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-16 11:14 +0000
Re: Equal yet different pointers "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-11-16 03:41 -0800
Rick's neuroses (Was: Equal yet different pointers) gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-16 12:11 +0000
Re: Rick's neuroses (Was: Equal yet different pointers) "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-11-16 04:30 -0800
Re: Rick's neuroses (Was: Equal yet different pointers) David Brown <david.brown@hesbynett.no> - 2017-11-16 14:52 +0100
Obscure references (Was: Rick's neuroses (Was: Equal yet different pointers)) gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-19 12:32 +0000
Re: Obscure references Noob <root@127.0.0.1> - 2017-11-20 11:08 +0100
Re: Obscure references David Brown <david.brown@hesbynett.no> - 2017-11-20 12:36 +0100
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 14:45 +0100
Re: Equal yet different pointers Keith Thompson <kst-u@mib.org> - 2017-11-16 08:55 -0800
Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-16 17:09 +0000
Re: Equal yet different pointers Keith Thompson <kst-u@mib.org> - 2017-11-16 09:33 -0800
Re: Equal yet different pointers Gareth Owen <gwowen@gmail.com> - 2017-11-16 19:20 +0000
Re: Equal yet different pointers Keith Thompson <kst-u@mib.org> - 2017-11-16 11:36 -0800
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 22:50 +0100
Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-16 14:34 -0800
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-17 10:44 +0100
Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-17 08:23 -0800
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-17 19:13 +0100
Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-17 16:45 -0800
Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-18 07:30 +0000
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 22:25 +0100
Re: Equal yet different pointers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-11-16 23:11 +0000
Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-16 15:47 -0800
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-17 10:49 +0100
Re: Equal yet different pointers Gareth Owen <gwowen@gmail.com> - 2017-11-16 19:20 +0000
Re: Equal yet different pointers "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-11-16 11:26 -0800
Re: Equal yet different pointers gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-16 22:22 +0000
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-16 23:09 +0000
Re: Equal yet different pointers gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-17 08:50 +0000
Re: Equal yet different pointers Gareth Owen <gwowen@gmail.com> - 2017-11-17 17:42 +0000
Re: Equal yet different pointers gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-17 19:35 +0000
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-16 23:34 +0000
Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-16 15:58 -0800
Re: Equal yet different pointers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-11-17 00:57 +0000
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-17 12:32 +0100
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-17 12:31 +0000
Re: Equal yet different pointers mark.bluemel@gmail.com - 2017-11-17 07:23 -0800
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-17 17:14 +0100
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-18 00:12 +0000
Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-18 13:39 +1300
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-18 01:39 +0000
Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-18 14:42 +1300
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-18 02:01 +0000
Re: Equal yet different pointers Melzzzzz <Melzzzzz@zzzzz.com> - 2017-11-18 02:07 +0000
Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-18 15:35 +1300
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-18 11:23 +0000
Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-19 12:02 +1300
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-18 23:25 +0000
Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-19 13:44 +1300
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-19 01:05 +0000
Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-19 14:30 +1300
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-19 01:48 +0000
Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-19 16:21 +1300
Re: Equal yet different pointers Reinhardt Behm <rbehm@hushmail.com> - 2017-11-19 11:44 +0800
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-19 10:10 +0000
Re: Equal yet different pointers mark.bluemel@gmail.com - 2017-11-20 00:52 -0800
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-19 23:27 +0100
Re: Equal yet different pointers Richard Damon <Richard@Damon-Family.org> - 2017-11-19 22:48 -0500
Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-20 16:52 +1300
Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-16 14:28 +0000
Re: Equal yet different pointers Barry Schwarz <schwarzb@dqel.com> - 2017-11-16 07:10 -0800
Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 16:51 +0100
Re: Equal yet different pointers "James R. Kuyper" <jameskuyper@verizon.net> - 2017-11-16 12:57 -0500
Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-16 08:03 -0800
Re: Equal yet different pointers "James R. Kuyper" <jameskuyper@verizon.net> - 2017-11-16 12:38 -0500
Re: Equal yet different pointers "Pascal J. Bourguignon" <pjb@informatimago.com> - 2017-11-16 20:13 +0100
Re: Equal yet different pointers "James R. Kuyper" <jameskuyper@verizon.net> - 2017-11-16 14:29 -0500
Re: Equal yet different pointers Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-11-16 15:57 +0000
Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-16 16:07 +0000
Re: Equal yet different pointers Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-11-16 19:01 +0000
Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-16 19:14 +0000
Re: Equal yet different pointers Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-11-16 19:47 +0000
Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-16 23:08 +0000
Re: Equal yet different pointers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-11-17 00:33 +0000
csiph-web