Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #122697

Re: Equal yet different pointers

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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