What are C89 and C99 ?

S

sugaray

I have seen so many threads discussions refered to C89 and C99 every
so often, but I've been confused about what are the differences
between those specifications ? and what are the C89-conforming C
compilers, and what are the C99-conforming ones ? (let's say, Visual
C, Borland C, GNU C, Watcom C, LCC,etc) Can somebody point that out
for me, or provide me some pages to visit on the net about that topic
? thanx.
 
D

Dan Pop

In said:
I have seen so many threads discussions refered to C89 and C99 every
so often, but I've been confused about what are the differences
between those specifications ?

You can find a reasonable summary at the beginning of N869, the freely
downloadable last public draft of C99. Of course, this assumes
familiarity with C89, as described by K&R2 and most other modern C
tutorial books.
and what are the C89-conforming C
compilers, and what are the C99-conforming ones ? (let's say, Visual
C, Borland C, GNU C, Watcom C, LCC,etc)

None of the popular implementations is C99 conforming, but some are
trying harder than the others. All of them are C89 conforming and may
support certain C99 features when invoked in extended mode. From your
list, gcc probably comes closest when invoked in C99 mode (which is not
really C99 mode, but as close to C99 as the compiler can currently get).
Can somebody point that out
for me, or provide me some pages to visit on the net about that topic

If you're really interested in C99, you have to read N869 or even
obtain an electronic copy of the final version from ANSI, for $18.

A more readable (but possibly less accurate) alternative should be
the fifth edition of Harbison & Steele, which claims to cover C99.

Dan
 
T

those who know me have no need of my name

in comp.lang.c i read:
I have seen so many threads discussions refered to C89 and C99 every
so often, but I've been confused about what are the differences
between those specifications ?

c89 is short-hand for the (original) c standard as adopted by ansi in 1989
(which was adopted by the iso in 1990 so sometimes you'll see c90), while
c99 stands for the (revised) standard which was adopted by the iso in 1999.
there are numerous differences between c89 and c99, such as increased
translation minimum limits (longer variables must be supported), variable-
length arrays, complex and imaginary number support -- the list is
substantial, and is in the forward of the c99 standard.
and what are the C89-conforming C
compilers, and what are the C99-conforming ones ? (let's say, Visual
C, Borland C, GNU C, Watcom C, LCC,etc)

the primary source of that information are the claims made by the authors
of those implementations. some are widely known to conform to one or
another of the standards, so often you can obtain a response to this sort
of query, but it would not be authoritative. most conform to c89 but have
extensions some of which conform to the c99 semantics. if you must be
certain then only conformance testing would be sufficient, and naturally it
would be limited to the specifics tested (options, library versions, etc.).
 
R

R. Rajesh Jeba Anbiah

I have seen so many threads discussions refered to C89 and C99 every
so often, but I've been confused about what are the differences
between those specifications ? and what are the C89-conforming C
compilers, and what are the C99-conforming ones ? (let's say, Visual
C, Borland C, GNU C, Watcom C, LCC,etc) Can somebody point that out
for me, or provide me some pages to visit on the net about that topic
? thanx.

I hope this will help you.
<http://en2.wikipedia.org/wiki/C_programming_language>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,527
Members
44,999
Latest member
MakersCBDGummiesReview

Latest Threads

Top