Path: csiph.com!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: Difference between C89 and other C standards Date: Sat, 03 Jul 2021 22:03:32 -0700 Organization: None to speak of Lines: 30 Message-ID: <87o8bi8ycb.fsf@nosuchdomain.example.com> References: <45bddc19-f745-4c9e-b395-8a6b2dd39f5an@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="b05d7cc13e620206e171100b87563f8e"; logging-data="2825"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+3dg3D2uIjSTD3N2CdymUL" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Cancel-Lock: sha1:RxMxAA8cpO+CB6VvXMfiG9adXRM= sha1:+TyHO0FVMWwOF3W/Y9DBVm4S9sM= Xref: csiph.com comp.lang.c:161636 Rayshawn Levy writes: > I'm trying to figure out the differences between C89 and the other C standards. > What are the valid types, macros, directives, syntax, etc. in C89 (I > can't seem to find the answer to this anywhere) compared to the other > standards and there seems to be a shortage of proper C89 tutorials on > the web. Can anyone help? By the way I'm new to the group so, nice to > meet you all! C89 and C90 are the same language, described by different editions of the standard (ANSI and ISO, respectively). The documents differ by the insertion of some additional sections, so C89 section 3 is C90 section 6. C99 and C11 are newer editions. There's also a C17, and work is in progress on a newer version. Each edition includes a foreword that describes the differences from the previous edition. The standard itself costs money, but N1256 is the C99 standard with three Technical Corrigenda merged into it, and N1570 is a draft of the C11 standard that's very close to the published standard. http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com Working, but not speaking, for Philips void Void(void) { Void(); } /* The recursive call of the void */