[comp.lang.c] chronic source of confusion in C

zed@mdbs.UUCP (Bill Smith) (02/15/90)

This is a meta note:

Why is the ANSI definition of arrays such a chronic source of
confusion?  Was it screwed up so bad before that it will take
a lot of work to re-train the masses?

Is the current definition more sophisisticated than the old
intuitive (?) version?  Are the people who teach C unaware of
the subtleties of what an array is?

Please don't explain what the current and old definitions are.
(Chris Torek and others have spent lots of time trying to explain
this idea already.)  I only wonder can be done to make the problem 
more readily understood.

Zed Smith
pur-ee!mdbs!zed (formely mdbs!wsmith)
(personal opinion only)

chris@mimsy.umd.edu (Chris Torek) (02/15/90)

In article <1486@mdbs.UUCP> zed@mdbs.UUCP (Bill Smith) writes:
>Why is the ANSI definition of arrays such a chronic source of
>confusion?  Was it screwed up so bad before that it will take
>a lot of work to re-train the masses?
>
>Is the current definition more sophisisticated than the old
>intuitive (?) version?  Are the people who teach C unaware of
>the subtleties of what an array is?

The `current' definition (by which I presume you mean the ANSI C
definition) of arrays is, for all intents and purposes, identical to
the K&R-1 definition.  The only change was the addition of a notion
of `incomplete' types, and that an array with unknown size is an
incomplete type.

As for the lattermost question: I suspect that yes, many people who
teach C do not understand how C arrays work---that is, do not understand
that C arrays are, at best, second class citizens; that there are no
array values, only array objects.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163)
Domain:	chris@cs.umd.edu	Path:	uunet!mimsy!chris

cjoslyn@bingvaxu.cc.binghamton.edu (Cliff Joslyn) (02/16/90)

In article <22550@mimsy.umd.edu> chris@mimsy.umd.edu (Chris Torek) writes:
>As for the lattermost question: I suspect that yes, many people who
>teach C do not understand how C arrays work---that is, do not understand
>that C arrays are, at best, second class citizens; that there are no
>array values, only array objects.

This posting comes at a very opportune time for me: I am a new C
teacher, and I begin arrays (not pointers yet) next week, with much
trepidation.  Chris, I have read your postings with much interest, but
am sure I don't have your Complete Story of Arrays and Pointers.  If
this is a good time to repost something like that (complete yet
concise), I would be greatly appreciative, and the net might welcome it
as well.  Perhaps you have something prepared to post.  Or, email would
be welcome. 

Thanks.
-- 
O------------------------------------------------------------------------->
| Cliff Joslyn, Cybernetician at Large, cjoslyn@bingvaxu.cc.binghamton.edu
| Systems Science, SUNY Binghamton, Box 1070, Binghamton NY 13901, USA
V All the world is biscuit shaped. . .