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


Groups > comp.lang.c > #4582

Re: Types in C

Newsgroups comp.lang.c
From Seebs <usenet-nospam@seebs.net>
Subject Re: Types in C
References (2 earlier) <ird68c$59n$1@speranza.aioe.org> <lnvcx1xw6m.fsf@nuthaus.mib.org> <slrnitl4c6.o5q.usenet-nospam@guild.seebs.net> <ireaa0$92r$1@speranza.aioe.org> <lnaaed2pwu.fsf@nuthaus.mib.org>
Message-ID <slrnitldk4.tio.usenet-nospam@guild.seebs.net> (permalink)
Date 2011-05-23 19:45 +0000
Organization Megabitz - More USENET, Faster USENET

Show all headers | View raw


On 2011-05-23, Keith Thompson <kst-u@mib.org> wrote:
> Just a quibble: size_t may be exactly the same type as unsigned long,
> since a typedef merely creates an alias for an existing type, not
> a new and distinct type.  plain char and signed char (for example)
> are distinct in a way that size_t and unsigned long (for example)
> are not.

True.  Although, possibly confusingly, there are places where it seems
that the thing a typedef creates is itself then called "a type".  The
wording is a bit fuzzy.

We all know what we mean, I think.  You could say it several ways:

	Typedef does not actually create types; instead, it creates
	names which refer to existing types.

	Typedef creates types, but those types are identical to existing
	types and can be used interchangably with them.

These appear to me to be essentially equivalent.  I tend to think of
the created name as being "a type" because my map has "type" connecting
to "the mapping from a name to a representation and storage thing", but
of course this isn't quite right, because of the plain char and (either
signed or unsigned char) equivalence; it's the same representation and
such as one of them, but it's not the same type as either.

I'm aware this isn't quite how it works, but consider this point you
made:

> Of course size_t should be thought of as something that's quite
> distinct from any predefined integer type, but the thing that's
> distinct is something other than a C type.  (IMHO this is a weakness
> of C's type system.)

Yes.

I would love to know how much code would ACTUALLY break if typedef
created "types".  Such that, say:
	typedef int a;
	typedef int b;
	a foo;
	b *bar = &foo;
was a constraint violation.

My guess is it would work well.

And that's why I tend to treat C *as if* that were true, because the only
code which I regard as "broken" which isn't broken according to the C type
system is generally bad code, and it prevents me from doing stupid things
as much.

-s
-- 
Copyright 2011, all wrongs reversed.  Peter Seebach / usenet-nospam@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
I am not speaking for my employer, although they do rent some of my opinions.

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


Thread

Types in C jacob navia <jacob@spamsink.net> - 2011-05-22 21:29 +0200
  Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-22 12:48 -0700
  Re: Types in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-05-22 23:03 +0100
    Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 10:35 +0200
      Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 08:40 -0700
        Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 17:19 +0000
          Re: Types in C John Gordon <gordon@panix.com> - 2011-05-23 17:54 +0000
            Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 11:33 -0700
              Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 11:44 -0700
            Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 19:08 +0000
          Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 20:50 +0200
            Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 12:11 -0700
              Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 19:45 +0000
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 13:03 -0700
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 22:25 +0200
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 14:38 -0700
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 23:45 +0200
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 22:02 +0000
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-24 00:10 +0200
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 22:12 +0200
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 13:27 -0700
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 22:33 +0200
                Re: Types in C Martin Ambuhl <mambuhl@earthlink.net> - 2011-05-24 03:17 -0400
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-24 10:55 +0200
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 09:29 +1200
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 23:42 +0200
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 09:51 +1200
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-24 00:04 +0200
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 10:57 +1200
                Re: Types in C David Thompson <dave.thompson2@verizon.net> - 2011-06-01 16:33 -0400
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-23 19:33 -0500
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 08:27 -0700
                Re: Types in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-05-31 00:40 -0700
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-31 11:32 +0200
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-31 11:30 -0700
                Re: Types in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-06-01 01:23 -0700
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 16:51 -0400
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 09:25 +1200
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 23:40 +0200
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 08:36 -0700
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 17:53 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 22:24 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 19:23 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 23:57 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 21:22 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 03:46 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 00:24 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 04:44 +0000
                Re: Types in C pete <pfiland@mindspring.com> - 2011-05-24 07:46 -0400
                Re: Types in C James Kuyper <jameskuyper@verizon.net> - 2011-05-24 07:48 -0400
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 10:35 +1200
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 22:38 +0000
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 10:53 +1200
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 23:17 +0000
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 11:24 +1200
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 23:39 +0000
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-24 11:23 +0200
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 08:46 -0700
                Re: Types in C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-05-24 09:14 -0700
                Re: Types in C Michael Press <rubrum@pacbell.net> - 2011-05-28 21:50 -0700
                Re: Types in C "io_x" <a@b.c.invalid> - 2011-06-07 19:50 +0200
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 19:33 -0400
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 12:03 +1200
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 21:27 -0400
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 13:47 +1200
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 23:45 -0400
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 00:07 -0700
                Re: Types in C James Kuyper <jameskuyper@verizon.net> - 2011-05-24 08:05 -0400
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-23 19:54 -0500
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 21:03 -0400
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-23 22:12 -0500
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 00:03 -0400
                Re: Types in C pete <pfiland@mindspring.com> - 2011-05-24 00:19 -0400
                Re: Types in C pete <pfiland@mindspring.com> - 2011-05-24 00:20 -0400
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-24 00:46 -0500
                Re: Types in C pete <pfiland@mindspring.com> - 2011-05-24 07:36 -0400
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 10:58 -0400
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 09:40 -0700
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 21:36 -0400
                Re: Types in C David Thompson <dave.thompson2@verizon.net> - 2011-06-01 16:33 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 16:50 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 21:10 -0400
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 18:19 -0700
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 21:42 -0400
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-24 23:47 -0500
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-25 10:13 -0400
                Re: Types in C Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-05-24 22:19 -0600
                Re: Types in C Dr Nick <3-nospam@temporary-address.org.uk> - 2011-05-25 07:04 +0100
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-25 08:53 -0700
                Re: Types in C Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-05-25 10:11 -0600
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 09:02 -0700
                Re: Types in C James Kuyper <jameskuyper@verizon.net> - 2011-05-24 07:37 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 22:02 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 18:15 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 22:25 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 19:39 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 23:57 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 21:10 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 01:58 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 23:56 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 04:32 +0000
                Re: Types in C "BartC" <bc@freeuk.com> - 2011-05-25 01:29 +0100
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-23 22:20 -0500
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-23 22:42 -0500
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 00:07 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 04:44 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 10:24 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 16:50 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 21:16 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-25 03:36 +0000
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-24 01:26 -0500
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 11:04 -0400
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 09:06 -0700
            Re: Types in C David Thompson <dave.thompson2@verizon.net> - 2011-06-01 16:33 -0400
  Re: Types in C Marcin Grzegorczyk <mgrzegor@poczta.onet.pl> - 2011-05-30 22:42 +0200
    Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-30 17:45 -0500
      Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-31 08:47 -0700
        Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-31 13:54 -0400
    Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-31 00:16 +0200
      Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-30 18:30 -0500
      Re: Types in C Marcin Grzegorczyk <mgrzegor@poczta.onet.pl> - 2011-06-02 22:44 +0200
        Re: Types in C jacob navia <jacob@spamsink.net> - 2011-06-02 22:49 +0200
          Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-06-02 15:26 -0700

csiph-web