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


Groups > comp.lang.c > #140498

Re: Didactic "white lies"

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Didactic "white lies"
Date 2019-02-03 12:46 -0800
Organization None to speak of
Message-ID <lnsgx4vbuu.fsf@kst-u.example.com> (permalink)
References <lies-20190203151329@ram.dialup.fu-berlin.de>

Show all headers | View raw


ram@zedat.fu-berlin.de (Stefan Ram) writes:
>   One white lie I tell at the beginning of my C course, when
>   the proper treatment of pointers still is in a remote distance:
>
>   To explain »char *«: »char« means "character", and the »*«
>   means the preceding thing can be repeated arbitrarily often,
>   so »char *« means "a sequence of characters". - Explanation 
>   without the need to speak of anything that was not treated yet.
>
>   The truth in that lie is: When you follow a »char *« you 
>   are usually supposed to find any number of character
>   objects there. (Though I'm not sure what to make of the
>   special case of 0 characters. Well, we can »malloc(0)«,
>   so why not?)

By telling this "white" lie, you help perpetuate the confusion about
the relationship between arrays and pointers in C.  I've had to
(well, I've chosen to) spend way too much time clearing up this
confusion, usually with a reference to section 6 of the comp.lang.c
FAQ.

If you don't want to explain pointers yet, you can show some examples
of pointer syntax and say that the details will be explained later.
(And I'll bet some of your students will want to find out how
pointers really mean before the course gets to it.)

At what point in the course can your students safely assume that
you're no longer lying to them?

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Will write code for food.
void Void(void) { Void(); } /* The recursive call of the void */

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


Thread

Re: Didactic "white lies" Keith Thompson <kst-u@mib.org> - 2019-02-03 12:46 -0800
  Re: Didactic "white lies" "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-02-03 23:40 +0100
  Re: Didactic "white lies" Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-02-04 03:35 -0800
    Re: Didactic "white lies" Keith Thompson <kst-u@mib.org> - 2019-02-04 12:01 -0800
    Re: Didactic "white lies" James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-02-04 12:33 -0800
      Re: Didactic "white lies" Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-02-05 01:37 -0800
        Re: Didactic "white lies" Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2019-02-05 08:56 -0700
          Re: Didactic "white lies" Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-02-05 08:03 -0800
            Re: Didactic "white lies" scott@slp53.sl.home (Scott Lurndal) - 2019-02-05 16:39 +0000
            Re: Didactic "white lies" James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-02-05 10:35 -0800
              Re: Didactic "white lies" Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-02-05 12:34 -0800
        Re: Didactic "white lies" James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-02-05 10:31 -0800
    Re: Didactic "white lies" John Bode <jfbode1029@gmail.com> - 2019-02-05 08:55 -0800

csiph-web