Groups | Search | Server Info | Login | Register


Groups > comp.lang.c.moderated > #479

Re: Why sizeof(main) = 1?

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c.moderated
Subject Re: Why sizeof(main) = 1?
Date 2013-09-12 11:30 -0500
Organization None to speak of
Message-ID <clcm-20130912-0003@plethora.net> (permalink)
References <clcm-20130104-0002@plethora.net> <clcm-20130902-0002@plethora.net> <clcm-20130906-0003@plethora.net> <clcm-20130911-0004@plethora.net>

Show all headers | View raw


Robert Wessel <robertwessel2@yahoo.com> writes:
> On Fri, 6 Sep 2013 23:25:44 -0500 (CDT), Keith Thompson
> <kst-u@mib.org> wrote:
>>The expression `main`, or any function name, is implicitly converted,
>>in most contexts, to a pointer whose type depends on how you declared
>>and/or defined the function.
>>
>>Any pointer value can be used as a condition; it's implicitly
>>checked for inequality to 0, i.e., to the null pointer.
>>
>>    if (main) yadda;
>>
>>is well defined but not useful, since `main`, after conversion,
>>can never be a null pointer.
>
> Is that actually true?  Certainly any valid data-type object cannot
> have an address of zero/NULL, but is that true of function objects?

Yes.  N1570 6.3.2.3p3 says that a null pointer is guaranteed to
compare unequal to a pointer to any object or function.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"
-- 
comp.lang.c.moderated - moderation address: clcm@plethora.net -- you must
have an appropriate newsgroups line in your header for your mail to be seen,
or the newsgroup name in square brackets in the subject line.  Sorry.

Back to comp.lang.c.moderated | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Why sizeof(main) = 1? Myth__Buster <raghavanil4m@gmail.com> - 2013-01-04 18:14 -0600
  Re: Why sizeof(main) = 1? Barry Schwarz <schwarzb@dqel.com> - 2013-02-26 10:51 -0600
    Re: Why sizeof(main) = 1? Keith Thompson <kst-u@mib.org> - 2013-03-11 18:25 -0500
  Re: Why sizeof(main) = 1? Jasen Betts <jasen@xnet.co.nz> - 2013-02-26 10:51 -0600
  Re: Why sizeof(main) = 1? gordonb.k8xjg@burditt.org (Gordon Burditt) - 2013-02-26 10:51 -0600
  Re: Why sizeof(main) = 1? <kzelechowski@e3tech.local> - 2013-09-02 04:07 -0500
    Re: Why sizeof(main) = 1? James Kuyper <jameskuyper@verizon.net> - 2013-09-06 23:25 -0500
      Re: Why sizeof(main) = 1? Keith Thompson <kst-u@mib.org> - 2013-09-11 17:26 -0500
        Re: Why sizeof(main) = 1? James Kuyper <jameskuyper@verizon.net> - 2013-09-12 11:29 -0500
    Re: Why sizeof(main) = 1? Keith Thompson <kst-u@mib.org> - 2013-09-06 23:25 -0500
      Re: Why sizeof(main) = 1? Robert Wessel <robertwessel2@yahoo.com> - 2013-09-11 17:27 -0500
        Re: Why sizeof(main) = 1? James Kuyper <jameskuyper@verizon.net> - 2013-09-12 11:29 -0500
        Re: Why sizeof(main) = 1? Keith Thompson <kst-u@mib.org> - 2013-09-12 11:30 -0500
    Re: Why sizeof(main) = 1? Ken Brody <kenbrody@spamcop.net> - 2013-09-06 23:25 -0500

csiph-web