f



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

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

0
1/18/2005 5:26:42 AM
comp.lang.c 30657 articles. 3 followers. spinoza1111 (3246) is leader. Post Follow

4 Replies
1359 Views

Similar Articles

[PageSpeed] 22

On 17 Jan 2005 21:26:42 -0800, "Luke Wu" <LookSkywalker@gmail.com>
wrote in comp.lang.c:

> 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.

-- 
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~ajo/docs/FAQ-acllc.html
0
jackklein (3931)
1/18/2005 5:44:21 AM
Jack Klein <jackklein@spamcop.net> wrote:

> On 17 Jan 2005 21:26:42 -0800, "Luke Wu" <LookSkywalker@gmail.com>
> wrote in comp.lang.c:
> 
> > I am just wondering what the following terms usually mean:
> > 
> > 1) "Standard C"
> 
> 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.

> > 3) "ANSI C"

> 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
0
rlb (4118)
1/18/2005 8:38:48 AM
"Richard Bos" <rlb@hoekstra-uitgeverij.nl> wrote in message
news:41ecca41.342185521@news.individual.net...
> Jack Klein <jackklein@spamcop.net> wrote:
> > 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.

You must have one helluva back yard! :-)

-Mike


0
mkwahler (3821)
1/18/2005 4:46:37 PM
On Tue, 18 Jan 2005 08:38:48 GMT, rlb@hoekstra-uitgeverij.nl (Richard
Bos) wrote in comp.lang.c:

> Jack Klein <jackklein@spamcop.net> wrote:
> 
> > On 17 Jan 2005 21:26:42 -0800, "Luke Wu" <LookSkywalker@gmail.com>
> > wrote in comp.lang.c:
> > 
> > > I am just wondering what the following terms usually mean:
> > > 
> > > 1) "Standard C"
> > 
> > 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.
> 
> > > 3) "ANSI C"
> 
> > 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

I shudder to think of your property taxes...

-- 
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~ajo/docs/FAQ-acllc.html
0
jackklein (3931)
1/19/2005 2:41:09 AM
Reply: