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


Groups > comp.lang.c > #142564

Re: Array-as-pointer Syntax

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Array-as-pointer Syntax
Date 2019-03-28 20:12 +0000
Organization A noiseless patient Spider
Message-ID <875zs2g3mq.fsf@bsb.me.uk> (permalink)
References <761347c7-4f03-42f3-a156-5f357c8ae091@googlegroups.com> <gg4e83Far11U15@mid.individual.net>

Show all headers | View raw


Ian Collins <ian-news@hotmail.com> writes:

> On 29/03/2019 06:04, David T. Ashley wrote:
>> Given:
>>
>>    int x[1000];
>>
>> what is the difference between:
>>
>>     memset(x, 0, sizeof(x));
>>
>> and
>>
>>     memset(&x, 0, sizeof(x));
>>
>> I would think there is NO difference, but I might be missing
>> something ...

There is none, provided there is a prototype declaration for memset
visible at the point of call.  Both x and &x will convert to a void *
pointing to the start of the array.

> Check for yourself!
>
> #include <stdio.h>
>
> int main()
> {
>   int x[111];
>   printf( "%p %p\n", x, &x);

Technically, you need (void *)x, and (void *)&x here because, unlike in
the call to memset, pointer arguments in the ... position of a variadic
function are not converted.  Chances are, it won't matter on your system
with your compiler, but the fact that some system does what you want
can't tell you if the code is correct or not.  Tests can expose bugs but
can't prove correctness.

> }

-- 
Ben.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Array-as-pointer Syntax "David T. Ashley" <dashley@gmail.com> - 2019-03-28 10:04 -0700
  Re: Array-as-pointer Syntax Bart <bc@freeuk.com> - 2019-03-28 17:18 +0000
    Re: Array-as-pointer Syntax David Brown <david.brown@hesbynett.no> - 2019-03-28 21:31 +0100
  Re: Array-as-pointer Syntax Ian Collins <ian-news@hotmail.com> - 2019-03-29 06:23 +1300
    Re: Array-as-pointer Syntax James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-03-28 12:09 -0700
      Re: Array-as-pointer Syntax Ian Collins <ian-news@hotmail.com> - 2019-03-29 08:21 +1300
      Re: Array-as-pointer Syntax Ike Naar <ike@iceland.freeshell.org> - 2019-03-28 22:59 +0000
        Re: Array-as-pointer Syntax James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-03-28 17:44 -0700
    Re: Array-as-pointer Syntax Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-03-28 20:12 +0000
  Re: Array-as-pointer Syntax James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-03-28 11:57 -0700
    Re: Array-as-pointer Syntax Keith Thompson <kst-u@mib.org> - 2019-03-28 13:57 -0700
      Re: Array-as-pointer Syntax James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-03-28 19:50 -0400
  Re: Array-as-pointer Syntax Keith Thompson <kst-u@mib.org> - 2019-03-28 14:04 -0700
  Re: Array-as-pointer Syntax John Bode <jfbode1029@gmail.com> - 2019-03-29 07:24 -0700
    Re: Array-as-pointer Syntax Ike Naar <ike@iceland.freeshell.org> - 2019-03-29 18:08 +0000

csiph-web