What does "Standard C", "K&R C" , "ANSI C" mean?

L

Luke Wu

I am just wondering what the following terms usually mean:

1) "Standard C"

2) "K&R C"

3) "ANSI C"


I am pretty sure "ANSI C" usually refers to the C89 standard, but what
about the other two?
What is the "saying" for C99 standard?

Thank you
 
J

Jack Klein

I am just wondering what the following terms usually mean:

1) "Standard C"

The current version of the C language standard. This is now known as
"ISO/IEC 9899:1999" with Technical Corrigendum (TC) 1 and TC2. It is
also approved in the United States as an ANSI standard.
2) "K&R C"

C was originally introduced to the public at large by the book "The C
Programming Language" by Brian Kernighan and Dennis Ritchie, published
in 1978. This was the "de facto" standard for the C language in the
early days. This is not to be confused with the 2nd edition of the
book, published in 1988, which updated it to the first ANSI standard.

3) "ANSI C"

While ANSI (American National Standards Institute) is a member of ISO
(International Organization for Standards), it went ahead and issued
its own C language standard in 1989. The first ISO version was
ratified in 1990, substantially identical but with some extra ISO
required sections added so the section numbering changed. ANSI than
ratified the ISO version of the standard.

For all practical purpose "ANSI C" usually refers to either the ANSI
1989 or ANSI/ISO 1990 standard. Most people who use the phrase don't
know that, or have any idea what it really means.

By the way, a procedural issue delayed ANSI's adoption of the current
(1999) ISO standard from October 1999 until May 2000. But for all
practical purposes ANSI C is synonymous with the more correct term ISO
C.
I am pretty sure "ANSI C" usually refers to the C89 standard, but what
about the other two?
What is the "saying" for C99 standard?

I quoted the official nomenclature above. In general discussion, it
is just "C99" to differentiate it from "C90", which is commonly used
to refer to both ANSI 89 and ISO 89, plus corrections and additions
prior to 1999.
 
R

Richard Bos

Jack Klein said:
The current version of the C language standard.

Alternatively, C according to any version of the language Standard.
Often used as such for code that is both correct C89 and correct C99;
I'll also use it for code that is correct C according to the Standard
I'm using at that moment, which is usually but not always C89.
For all practical purpose "ANSI C" usually refers to either the ANSI
1989 or ANSI/ISO 1990 standard. Most people who use the phrase don't
know that, or have any idea what it really means.

Which is one reason why I use "ISO C" instead. Another is that I have
nothing to do with ANSI, because I live in the rest of the world. For
most people on Earth, ISO is more relevant than ANSI.

Richard
 
J

Jack Klein

Alternatively, C according to any version of the language Standard.
Often used as such for code that is both correct C89 and correct C99;
I'll also use it for code that is correct C according to the Standard
I'm using at that moment, which is usually but not always C89.



Which is one reason why I use "ISO C" instead. Another is that I have
nothing to do with ANSI, because I live in the rest of the world. For
most people on Earth, ISO is more relevant than ANSI.

Richard

I shudder to think of your property taxes...
 

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,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top