<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#f9f9fa">
<div class="q-text" style="box-sizing: border-box; max-width: 100%;"><span
class="q-box" style="box-sizing: border-box;"><span
class="q-text qu-dynamicFontSize--small qu-bold
qu-color--gray_dark qu-passColorToLinks" style="box-sizing:
border-box;">
<div class="q-inlineFlex qu-alignItems--center"
style="box-sizing: border-box; display: inline-flex;">
<div class="q-box qu-display--inline" style="box-sizing:
border-box; z-index: 0;">
<div class="q-box qu-display--inline" style="box-sizing:
border-box;">
<div class="q-relative qu-display--inline
puppeteer_popper_reference" style="box-sizing:
border-box; position: relative;">
<div class="q-click-wrapper qu-display--inline
qu-tapHighlight--white qu-cursor--pointer
ClickWrapper___StyledClickWrapperBox-zoqi4f-0
iyYUZT" style="box-sizing: border-box; font:
inherit; padding: 0px; color: inherit; text-align:
inherit;" aria-expanded="false"
aria-haspopup="dialog" tabindex="0"><a class="q-box
Link___StyledBox-t2xg9c-0 dFkjrQ
puppeteer_test_link qu-color--gray_dark
qu-cursor--pointer
qu-hover--textDecoration--underline"
style="box-sizing: border-box; border-radius:
inherit;"
href="https://www.quora.com/profile/Mark-Sheldon-15"
target="_blank">
<div class="q-inlineFlex qu-alignItems--center
qu-wordBreak--break-word" style="box-sizing:
border-box; display: inline-flex;"><span><span></span></span></div>
</a></div>
</div>
</div>
</div>
</div>
</span></span>
<div class="q-text qu-dynamicFontSize--small qu-color--gray
qu-passColorToLinks qu-truncateLines--3" style="box-sizing:
border-box;"><span><span class="CssComponent-sc-1oskqb9-0
AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0
kBzlwk">(Toepasselijk, ik kreeg met de c99 standaard een
associatie met d66... Flauwekul natuurlijk, maar om aan te
geven dat er niet 1 standaard van de C taal is.)<br>
</span></span></div>
<div class="q-text qu-dynamicFontSize--small qu-color--gray
qu-passColorToLinks qu-truncateLines--3" style="box-sizing:
border-box;"><span><span class="CssComponent-sc-1oskqb9-0
AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0
kBzlwk"><br>
</span></span></div>
<div class="q-text qu-dynamicFontSize--small qu-color--gray
qu-passColorToLinks qu-truncateLines--3" style="box-sizing:
border-box;"><span><span class="CssComponent-sc-1oskqb9-0
AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0
kBzlwk"><br>
</span></span></div>
<div class="q-text qu-dynamicFontSize--small qu-color--gray
qu-passColorToLinks qu-truncateLines--3" style="box-sizing:
border-box;"><span><span class="CssComponent-sc-1oskqb9-0
AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0
kBzlwk">Associate Teaching Professor at <span class="q-text
qu-wordBreak--break-word" style="box-sizing: border-box;"><span><span>Tufts
University</span></span></span> (2012–present)</span><span
class="CssComponent-sc-1oskqb9-0
AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0
ytbFj">Author has <span class="q-text qu-bold"
style="box-sizing: border-box;">492</span> answers and <span
class="q-text qu-bold" style="box-sizing: border-box;">778.3K</span>
answer views</span><span class="CssComponent-sc-1oskqb9-0
AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0
ytbFj"><span class="q-text qu-whiteSpace--nowrap"
style="box-sizing: border-box;"><span class="q-box"
style="box-sizing: border-box; margin-right: auto;
pointer-events: auto;"><a class="q-box
Link___StyledBox-t2xg9c-0 dFkjrQ answer_timestamp
qu-cursor--pointer
qu-hover--textDecoration--underline"
style="box-sizing: border-box; border-radius:
inherit;"
href="https://www.quora.com/Out-of-all-the-C-standards-K-R-C89-90-C99-C11-which-standard-is-the-most-used-on-production/answer/Mark-Sheldon-15"
target="_blank" rel="nofollow">Updated Sep 10</a></span></span></span></span></div>
<div class="q-box qu-mb--tiny" style="box-sizing: border-box;">
<div class="q-text qu-dynamicFontSize--regular_title
qu-fontWeight--bold qu-color--gray_dark_dim
qu-passColorToLinks qu-lineHeight--regular
qu-wordBreak--break-word" style="box-sizing: border-box;"><span
class="CssComponent__CssInlineComponent-sc-1oskqb9-1
UserSelectableText___StyledCssInlineComponent-lsmoq4-0"><span
class="CssComponent__CssInlineComponent-sc-1oskqb9-1
TitleText___StyledCssInlineComponent-sc-1hpb63h-0 hiLnej"><a
class="q-box Link___StyledBox-t2xg9c-0 dFkjrQ
puppeteer_test_link qu-display--inline
qu-cursor--pointer qu-hover--textDecoration--underline"
style="box-sizing: border-box; border-radius: inherit;"
href="https://www.quora.com/Out-of-all-the-C-standards-K-R-C89-90-C99-C11-which-standard-is-the-most-used-on-production"
target="_blank">
<div class="q-click-wrapper qu-display--inline
qu-tapHighlight--white qu-cursor--pointer
qu-hover--textDecoration--underline
ClickWrapper___StyledClickWrapperBox-zoqi4f-0 iyYUZT"
style="box-sizing: border-box; font: inherit; padding:
0px; color: inherit; text-align: inherit;"
tabindex="0"><span class="q-inline qu-flexWrap--wrap"
style="box-sizing: border-box; display: inline;"><span
class="q-text qu-truncateLines--5
puppeteer_test_question_title" style="box-sizing:
border-box;">
<div class="q-inline qu-mr--tiny"
style="box-sizing: border-box; display: inline;">
<div class="q-inlineFlex qu-px--tiny
qu-color--gray qu-borderRadius--small
qu-whiteSpace--nowrap qu-alignItems--center"
style="box-sizing: border-box; display:
inline-flex; background-color: rgba(0, 0, 1,
0.03);">
<div class="q-text qu-dynamicFontSize--small"
style="box-sizing: border-box;">
<div class="q-text" style="box-sizing:
border-box;">Related</div>
</div>
</div>
</div>
<span class="q-box qu-userSelect--text"
style="box-sizing: border-box;"><span
style="background: none;"><br>
</span></span></span></span></div>
<div class="q-click-wrapper qu-display--inline
qu-tapHighlight--white qu-cursor--pointer
qu-hover--textDecoration--underline
ClickWrapper___StyledClickWrapperBox-zoqi4f-0 iyYUZT"
style="box-sizing: border-box; font: inherit; padding:
0px; color: inherit; text-align: inherit;"
tabindex="0"><span class="q-inline qu-flexWrap--wrap"
style="box-sizing: border-box; display: inline;"><span
class="q-text qu-truncateLines--5
puppeteer_test_question_title" style="box-sizing:
border-box;"><span class="q-box
qu-userSelect--text" style="box-sizing:
border-box;"><span style="background: none;"><br>
</span></span></span></span></div>
<div class="q-click-wrapper qu-display--inline
qu-tapHighlight--white qu-cursor--pointer
qu-hover--textDecoration--underline
ClickWrapper___StyledClickWrapperBox-zoqi4f-0 iyYUZT"
style="box-sizing: border-box; font: inherit; padding:
0px; color: inherit; text-align: inherit;"
tabindex="0"><span class="q-inline qu-flexWrap--wrap"
style="box-sizing: border-box; display: inline;"><span
class="q-text qu-truncateLines--5
puppeteer_test_question_title" style="box-sizing:
border-box;"><span class="q-box
qu-userSelect--text" style="box-sizing:
border-box;"><span style="background: none;">Out
of all the C standards (K&R, C89/90, C99,
C11), which standard is the most used on
production?</span></span></span></span></div>
</a></span></span></div>
</div>
<div class="q-click-wrapper qu-display--block
qu-tapHighlight--none
ClickWrapper___StyledClickWrapperBox-zoqi4f-0 iyYUZT"
style="box-sizing: border-box; font: inherit; padding: 0px;
width: 100%; position: relative; color: inherit; text-align:
inherit; cursor: initial;" width="100%" tabindex="-1">
<div class="q-box spacing_log_answer_content
puppeteer_test_answer_content" style="box-sizing: border-box;">
<div class="q-text" style="box-sizing: border-box; max-width:
100%;"><span
class="CssComponent__CssInlineComponent-sc-1oskqb9-1
UserSelectableText___StyledCssInlineComponent-lsmoq4-0"><span
class="q-box qu-userSelect--text" style="box-sizing:
border-box;">
<p class="q-text qu-display--block
qu-wordBreak--break-word qu-textAlign--start"
style="box-sizing: border-box; margin-bottom: 1em;
overflow-wrap: anywhere; direction: ltr;"><span
style="font-weight: normal; font-style: normal;
background: none;">I can’t say what’s most widely
used in industry, but, since the standards are
pretty much backward compatible, I would assume
folks use the newest standard unless they have a
code base and developers who want a consistent
standard for a project.</span></p>
<p class="q-text qu-display--block
qu-wordBreak--break-word qu-textAlign--start"
style="box-sizing: border-box; margin-bottom: 1em;
overflow-wrap: anywhere; direction: ltr;"><span
style="font-weight: normal; font-style: normal;
background: none;">The Linux kernel is not
standardized on an ANSI C standard, but is actually
standardized on the GNU compiler collection (gcc).
They say any gcc version after some thing (I can’t
recall which) works. That’s because Linus wanted to
use GNU extensions to C (or what were extensions
when he needed them). For example, the Linux kernel
uses various gcc compiler attributes in
declarations.</span></p>
<p class="q-text qu-display--block
qu-wordBreak--break-word qu-textAlign--start"
style="box-sizing: border-box; margin-bottom: 1em;
overflow-wrap: anywhere; direction: ltr;"><span
style="font-weight: normal; font-style: normal;
background: none;">I have often required my students
in systems programing classes to use the older C89
standard. Not because the newer features aren’t
useful, but because requiring declarations at the
start of a block corresponds to what what they’ll
see when we look at the assembly code output (space
will be allocated on block entry). And perhaps out
of some nostalgia :-) I also find it helps some
students document and think about their code better.
If you put all the variable declarations at the top
of the block, it’s an opportunity to think about
variable names and to notice that your function is
getting rather long and complicated. Many students
don’t think through their algorithm before they
code, and then they introduce variables as they are
forced to, picking horrible names and not noticing
opportunities for breaking complex activities into
simpler components (functions). Nothing like 16
lines of variable declarations to suggest that there
might be a lot going on here!</span></p>
<p class="q-text qu-display--block
qu-wordBreak--break-word qu-textAlign--start"
style="box-sizing: border-box; margin-bottom: 1em;
overflow-wrap: anywhere; direction: ltr;"><span
style="font-weight: normal; font-style: normal;
background: none;">Aside on student approaches to
variable names: I once had a student assignment
(written in C++) in which there was a class data
member named “counterB”. It didn’t say what it was
counting, and there was no “counterA” anywhere. I
asked the student what was up, and they said “I
originally had counters A and B, but then I realized
I didn’t need A.” As I recall, the student 1 week
after submitting the assignment, couldn’t recall
what either counter was for, and so we had a nice
discussion about naming. We also had a discussion
about data members: this particular item was being
used as an ersatz global variable, which made
several member functions non-modular. Clients had to
carefully call them in a particular order, even
though there was no logical reason for them to be
ordered at all. Naturally, our testing code didn’t
comply :-)</span></p>
<p class="q-text qu-display--block
qu-wordBreak--break-word qu-textAlign--start"
style="box-sizing: border-box; margin-bottom: 0px;
overflow-wrap: anywhere; direction: ltr;"><span
style="font-weight: normal; font-style: normal;
background: none;">One newer feature we do use are
flexible array members, which came with the C99
standard. I’m sure there are others, but this is
what leapt to mind.</span></p>
</span></span></div>
<div></div>
</div>
</div>
<div class="q-text qu-dynamicFontSize--small qu-pb--tiny
qu-mt--small qu-color--gray_light qu-passColorToLinks"
style="box-sizing: border-box;">
<div class="q-flex" style="box-sizing: border-box; display:
flex;"><span><span class="CssComponent-sc-1oskqb9-0
AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0
kBzlwk">4K views</span><span
class="CssComponent-sc-1oskqb9-0
AbstractSeparatedItems___StyledCssComponent-sc-46kfvf-0
ytbFj">
<div class="q-click-wrapper qu-display--inline-block
qu-tapHighlight--white qu-cursor--pointer
qu-hover--textDecoration--underline
ClickWrapper___StyledClickWrapperBox-zoqi4f-0 iyYUZT"
style="box-sizing: border-box; font: inherit; padding:
0px; color: inherit; text-align: inherit;" tabindex="0">View
upvotes</div>
</span></span></div>
</div>
<span class="CssComponent__CssInlineComponent-sc-1oskqb9-1
UserSelectableText___StyledCssInlineComponent-lsmoq4-0"><span
class="q-box qu-userSelect--text" style="box-sizing:
border-box;"></span></span></div>
<div class="q-text" style="box-sizing: border-box; max-width: 100%;"><span
class="CssComponent__CssInlineComponent-sc-1oskqb9-1
UserSelectableText___StyledCssInlineComponent-lsmoq4-0"><span
class="q-box qu-userSelect--text" style="box-sizing:
border-box;"><br>
</span></span></div>
<div class="q-text" style="box-sizing: border-box; max-width: 100%;"><span
class="CssComponent__CssInlineComponent-sc-1oskqb9-1
UserSelectableText___StyledCssInlineComponent-lsmoq4-0"><span
class="q-box qu-userSelect--text" style="box-sizing:
border-box;"><a class="moz-txt-link-freetext" href="https://www.quora.com/What-is-the-difference-between-C89-and-C99">https://www.quora.com/What-is-the-difference-between-C89-and-C99</a></span></span></div>
<div class="q-text" style="box-sizing: border-box; max-width: 100%;"><span
class="CssComponent__CssInlineComponent-sc-1oskqb9-1
UserSelectableText___StyledCssInlineComponent-lsmoq4-0"><span
class="q-box qu-userSelect--text" style="box-sizing:
border-box;"><br>
<ol class="q-box" style="box-sizing: border-box; direction:
ltr; overflow-wrap: break-word; list-style: decimal;
margin-bottom: 1em; margin-right: 2em;">
<li class="q-relative" style="box-sizing: border-box;
position: relative; margin-left: 2em; padding-bottom:
0.7em;"><span style="font-weight: normal; font-style:
normal; background: none;">C89 Language support only 32
Keywords</span></li>
<li class="q-relative" style="box-sizing: border-box;
position: relative; margin-left: 2em; padding-bottom:
0px;"><span style="font-weight: normal; font-style:
normal; background: none;">C99 support 37 keyword.(all
c89 keyword with 5 other(1. boolean 2. imaginary 3.
complex 4. inline 5. restrict ) )</span></li>
</ol>
</span></span></div>
<p></p>
</body>
</html>