There is no standard newer than C99. There have been two Technical
Corrigenda (basically amendments to the standard), which are
incorporated into n1124.pdf; neither adds any new predefined types.
--
Keith Thompson (The_Other_Keith) ks...@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
However, there have also been some Technical Reports, which have
introduced new typedef names. These are not yet standards, and
typedefs do not create new types.
C99 does allow implementations to support additional integer types.
When C came off the rollers, how many predefined types did it have? The
number I'm looking for is countable. (Proof: we're fixing to do it.) The
question is largely affected by what you're going to say about pointers,
because you can add asterisks and create types with immunity. Restrict the
consideration to a subset of the original types that sheds itself of types
***, ****, and of course ******************************************* <=42
asterisks. LS
What is "MR&C"??
> When C came off the rollers, how many predefined types did it have? The
> number I'm looking for is countable. (Proof: we're fixing to do it.) The
> question is largely affected by what you're going to say about pointers,
> because you can add asterisks and create types with immunity. Restrict
> the consideration to a subset of the original types that sheds itself of
> types ***, ****, and of course *******************************************
> <=42 asterisks. LS
Obviously C allows an arbitrarily large number of types via indirection,
structuring, etc. A more useful question is how many distinct basic
data types there are.
char, int, float, double [original C]
unsigned int, long int [soon added]
short int, unsigned short int, unsigned long int,
unsigned char, signed char, void [PCC/"K&R"]
long double [C89]
_Bool, long long int, unsigned long long int, complex,
implementation-defined extended integer types [C99]
These are from memory, so I may have missed some.
What is MR&C?
Was Doug's list pretty close?; it looked about right to me if we talk about
C90 or less. I'm looking for basic distinct types. That he didn't mention
tgmath.h, specifically and categorically, was certainly an act of mercy.
There must be huge literature out there on how typedefs becoming types. LS
Ok, MR&C is a Fortran text. I think that's all we need to know. We
discuss the C standard here; Fortran has its own newsgroups.
> Was Doug's list pretty close?; it looked about right to me if we talk about
> C90 or less. I'm looking for basic distinct types. That he didn't mention
> tgmath.h, specifically and categorically, was certainly an act of mercy.
Why would he mention tgmath.h, which declars no types?
> There must be huge literature out there on how typedefs becoming types. LS
There's no "huge literature" because it's not necessary. A typedef
does not create a new type; it merely creates an alias for an existing
type. Does that have anything at all to do with your question?
Fair enough. I tend to be fairly slow to conclude that someone is a
troll, deliberate or otherwise. I'm approaching that conclusion in
this instance.
I'm curious - if you want to talk at length about a table from a book
describing Fortran, why are you posting your question to this group?
If you do want to discuss it here, you should provide a copy of the
table, or a URL pointing to a copy of the table. Most of us, have no
idea what you're talking about.
> ... One thing I want
> to get is a head count on predefined types.
The C standard doesn't have a concept of "predefined types", so it's
not clear what the answer to your question should be.
> When C came off the rollers, how many predefined types did it have? The
> number I'm looking for is countable. (Proof: we're fixing to do it.)
In mathematics, they define 'countable' in an specialized sense, that
makes it possible to talk about countable infinities (and uncountable
infinities). The number of types that the C standard requires an
implementation to support isn't that large. However, countability
doesn't imply feasibility. And, contrary to your assertion, talking
about counting something doesn't prove that it's countable; otherwise
it wouldn't be possible to even discuss the fact that some sets are
uncountable.
> The
> question is largely affected by what you're going to say about pointers,
> because you can add asterisks and create types with immunity. Restrict the
> consideration to a subset of the original types that sheds itself of types
> ***, ****, and of course ******************************************* <=42
> asterisks. LS
A pointer type is one kind of a derived type. Other derived types
include array, structure, union, and function types. For all practical
purposes, there's no upper limit to the number of different types that
can be formed by any one of the derivation techniques, so I presume
you're equally uninterested in any of the other kinds of derived
types?
There's a set of built-in types that are guaranteed to exist by the
standard, and Doug's given you a complete list of those types, except
that he's not distinguished between the qualified and unqualifed
versions of each type. Note that there's no upper limit on the number
of implementation-defined extended types. I'll presume you're only
interested in the number of types that the standard requires to be
supported?. The standard specifies that the standard headers must
contain certain typedefs. Do those count as pre-defined? They do not
define a new type in themselves, and many of them will likely be built-
in types. However, they can be implementation-defined types, or
derived types.
I'm sorry - but I have no idea, whatsoever, about why you feel that my
message indicated a lack of manners. Would you care to enlighten me
about that? If I had been one of the people who accused you of being a
troll, I could understand, but I wasn't.
> I'm sorry - but I have no idea, whatsoever, about why you feel that my
> message indicated a lack of manners. Would you care to enlighten me
> about that? If I had been one of the people who accused you of being a
> troll, I could understand, but I wasn't.
The motive to respond to you was selfish. You had something to say that was
germane. I was able to read it in my sent items without having to look at
comp.std.c It hurts my feelings when a couple of dinks jump on my thread
just to crap on it. My remarks were directed at them. TOB
"my thread"? Sheesh.
The above message was almost certainly posted by Lane Straatman, with
a forged (and deliberately offensive) name in the "From:" header (same
ISP, same fake e-mail address "inv...@invalid.invalid"). If it
wasn't, I encourage Lane Straatman to say so.
The poster attempted to redirect followups to talk.current-events,
presumably attempting to cause more trouble.
I suggest that there is no further cause for doubt that Lane Straatman
is a troll, and should be ignored (unless someone cares to take
advantage of the "X-Complaints-To: ab...@comcast.net" header in both
messages.)
I'm aware that it could be argued that this followup constitutes
feeding the troll. My intent is to warn others.
I've redirected followups to /dev/null; anyone wishing to post a
followup will need to reset the newsgroup explicitly.
--
Keith Thompson (The_Other_Keith) ks...@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"