Re: Pointers to int

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Since you ask, it's not really a proper mechanism:

You should use the increment operators for the destination pointer in
the for statement instead of using the post increment operator with
the dereference.

Also, that whole statement doesn't quite make sense.  You probably
want to traverse 0 - (arraysize - 1) but you're actually checking for
less than (arraysize - 1) which mean you never get there.

Also, is the array a character array?  If so, then the increments
work, otherwise the arraysize might not represent the actual memory
block size (say for short it is 2 bytes each item).

Corey

On 10/28/05, ework0 <ework0@xxxxxxxxx> wrote:
> Hello,
>
>
> Christoph Bussenius wrote:
>
> >On Fri, Oct 28, 2005 at 07:19:26AM -0600, Fabio Andres Miranda wrote:
> >
> >
> >>Can anyone explain to the list how this pointers to int work:
> >>   int *p;
> >>   p = (int *)(array);
> >>   for (i = 0; i < arraysize - 1; i += 4)
> >>       *p++ = j - 8;
> >>   *p = 0x0;
> >>
> >>P is defined as a pointer to a int. Then, it points to (the beginning ?
> >>) a char array.
> >>What is the result of perform the instruction: *p++; ?
> >>
> >>
> >
> >As postincrement (++) has higher priority than dereference (*), p++ is
> >what will be evaluated first.  So p will be incremented by the size of
> >an integer (probably 4).  After that, p will point to the second integer
> >of the array, i. e. array[1].  Now you use * to access that very
> >location and store j-8 there.
> >
> >
> >
> Regarding this issue, I understand the priorities of operands, I dont
> have clear what does the '++' operator increments: a. The memory
> location (ej: If it was 0x01, now it is 0x02); b. The value contained in
> the memory location p is point to?
>
> Can anyone provide a simpler illustrative examples regarding this
> operations? I think it would be great for the records of the list,
>
> Best regards,
>
> ework0
>


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux