Velocity Reviews > questions on pointers

# questions on pointers

JOhn
Guest
Posts: n/a

 05-15-2008
can someone please post some complicated question on pointers??

moreover while reading pointers I found out that there is a lot of
difference between an arracy of intergers and an array of
characters(string) ............. relating to
pointers ................am i correct................the way pointers
behave when they have a char array as an address and the way they
behave when they have an integer array as an address ????

quite old to 'C'

Lew Pitcher
Guest
Posts: n/a

 05-15-2008
In comp.lang.c, JOhn wrote:

> can someone please post some complicated question on pointers??

Not really. Depending on your POV, pointers are either trivially simple (and
thus there are /no/ complicated questions) or impossibly hard (and
thus /every/ question is a complicated question). For the trivially easy
POV, I have no questions, and for the impossibly hard POV, any question you
ask will be a complicated question. Such is life

> moreover while reading pointers I found out that there is a lot of
> difference between an arracy of intergers and an array of
> characters(string) ............. relating to
> pointers ................am i correct................the way pointers
> behave when they have a char array as an address and the way they
> behave when they have an integer array as an address ????

No and yes. They behave exactly the same, conceptually.
Increment a pointer to an object and it will point at the next object
The /value/ of the pointer may differ with different objects, as different
objects have different sizes.

Thus, in both of the following code snippets
char a[3], *p;
p = &a[0] + 1;
and
int a[3], *p;
p = &a[0] + 1;
the pointer 'p' will point at a[1]

However, the /value/ of p (that is, the "address") may differ, as int values
are usually stored in bigger spaces than char values. Consequently
int a[3], *ip;
char *cp;
ip = &a[0] + 1;
cp = (char)&a[0] + 1;
will usually result in ip and cp having different values.

> quite old to 'C'
>

--
Lew Pitcher

Master Codewright & JOAT-in-training | Registered Linux User #112576
http://pitcher.digitalfreehold.ca/ | GPG public key available by request
---------- Slackware - Because I know what I'm doing. ------

Keith Thompson
Guest
Posts: n/a

 05-15-2008
JOhn <(E-Mail Removed)> writes:
> can someone please post some complicated question on pointers??
>
> moreover while reading pointers I found out that there is a lot of
> difference between an arracy of intergers and an array of
> characters(string) ............. relating to
> pointers ................am i correct................the way pointers
> behave when they have a char array as an address and the way they
> behave when they have an integer array as an address ????
>
> quite old to 'C'

The comp.lang.c FAQ is at <http://www.c-faq.com/>. Sections 4, 5, and
6 cover pointers. Have you read them?

Arrays of char and arrays of int behave essentially the same way with
respect to pointers as any other array type. Pointer arithmetic
operates in units of the size of the element type, 1 byte for pointers
to char, sizeof(int) bytes for pointers to int. If you can tell us
just what difference you're seeing, we can probably help clarify it
for you.

(Incidentally, using all lower case and long strings of '.' and '?'

--
Keith Thompson (The_Other_Keith) http://www.velocityreviews.com/forums/(E-Mail Removed) <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"

lee
Guest
Posts: n/a

 05-17-2008
On 5月16日, 上午4时52分, JOhn <(E-Mail Removed)> wrote:
> can someone please post some complicated question on pointers??
>
> moreover while reading pointers I found out that there is a lot of
> difference between an arracy of intergers and an array of
> characters(string) ............. relating to
> pointers ................am i correct................the way pointers
> behave when they have a char array as an address and the way they
> behave when they have an integer array as an address ????
>
> quite old to 'C'
>

you can read a book named Puzzle c.