Re: pointer q
- From: Eric Sosman <esosman@xxxxxxxxxxxxxxxxxxx>
- Date: Sun, 14 May 2006 08:48:41 -0400
Joe Smith wrote:
"Keith Thompson" <kst-u@xxxxxxx> wrote in message news:lnlkt5bqv3.fsf@xxxxxxxxxxxxxxxxxx
"Joe Smith" <grumpy196884@xxxxxxxxxxx> writes:
A recent post of mine showed a sufficiently large gaffe on pointers as to
need to return to K&R 5.1-6 appendix A8.6.1 . So we have type specifiers:
int
long
. One dreams himself variable names: qwe, qwr, writes
int qwe;
long qwr;
and thinks he knows what types he's declared. Had you asked me about:
int *qwe;
long *qwr;
I would have said the pointers declared were--while pointng to different
types--of the same type. Why am I wrong? Joe
int* and long* are two different types (both pointer types).
I'm curious, what led you to think that they're the same type?
What's to stop me from swapping an int * and a long *? Joe
Assume sizeof(int) < sizeof(long), and consider
long l = 42;
int *ip = &l; /* illegal, but Let's Pretend */
*ip = 76;
What value is now stored in `l'?
That's why int* and long* aren't interchangeable.
--
Eric Sosman
esosman@xxxxxxxxxxxxxxxxxxx
.
- Follow-Ups:
- Re: pointer q
- From: RSoIsCaIrLiIoA
- Re: pointer q
- From: Joe Smith
- Re: pointer q
- References:
- pointer q
- From: Joe Smith
- Re: pointer q
- From: Keith Thompson
- Re: pointer q
- From: Joe Smith
- pointer q
- Prev by Date: Re: JPEG and C language..
- Next by Date: Re: short or int
- Previous by thread: Re: pointer q
- Next by thread: Re: pointer q
- Index(es):
Relevant Pages
|