1 <!DOCTYPE HTML PUBLIC
"-//W3O//DTD W3 HTML 2.0//EN">
2 <!-- This collection of hypertext pages is Copyright 1995, 1996 by Steve Summit. -->
3 <!-- This material may be freely redistributed and used -->
4 <!-- but may not be republished or sold without permission. -->
7 <link rev=
"owner" href=
"mailto:scs@eskimo.com">
8 <link rev=
"made" href=
"mailto:scs@eskimo.com">
9 <title>C Programming Notes
</title>
12 <H1>C Programming Notes
</H1>
14 <I>The C Programming Language
</I>,
15 by Kernighan and Ritchie (``K
&R'')
21 <p><I>The C Programming Language
</I>,
22 or K
&R as it is affectionately known,
23 is widely praised by experienced C programmers
24 as one of the best books on C there is.
25 (It was also the first;
26 it also happens to be a best-seller.)
27 The only real criticism K
&R ever receives
30 tutorial for beginners;
31 it seems to assume a certain amount of programming savvy
32 and familiarity with computers.
34 if you read it carefully,
35 you'll find that is constantly dispensing wisdom about programming in general,
36 from basic concepts to deep insights to impeccable commentary
37 on imponderable topics such as programming style, at the same
38 time it teaches the specifics of the C language.
40 the fundamental criticism may simply be that K
&R is not
41 suitable for those who read carelessly.
42 </p><p>The authors are not out to save the world
43 or to convert it to their philosophy of programming.
44 When they say something, they say it once,
45 without theatrics or undue emphasis.
46 If you read the book too quickly,
48 or look only for specific answers
49 to what you think you're trying to learn today,
50 you will miss much of the excellent advice which the authors have to offer.
53 (beginning in Spring,
1995)
55 University of Washington
57 course in Introductory C Programming.
59 are meant to supplement K
&R
60 for the reader who is new to C
61 and perhaps to programming,
62 and who wants a slightly more detailed,
63 less pithy presentation.
64 I'll add insights from my own experience,
65 in particular by pointing out those areas where people
66 traditionally misunderstand something about C or K
&R's
68 I'll also call out a few of the very deep sentences,
69 which you might overlook at first even if you're not skimming
70 (perhaps because their significance only becomes apparent once
71 you've begun writing bigger or more complicated programs),
72 but which contain advice which is absolutely vital to successful
73 real-world programming and which,
74 if you can take it to heart early,
75 will save you from a lot of misery out in the school of hard
77 </p><p>Note that most of these notes
78 merely amplify on the things K
&R is saying;
79 there isn't much to say that it doesn't already say,
81 In particular, many of the things that I'll comment on in the
82 early chapters are discussed in more detail in the later
84 by barging in with my know-it-all comments,
85 I'm partially destroying the authors' careful progression
86 from an initial, slightly superficial overview
87 to a more detailed, complete presentation.
88 If these notes present more detail than you want to see at first,
90 (but please do let me know);
92 come back to them later
93 to see if they clear up anything you're still uncertain on.
96 you find the description in K
&R adequately clear,
97 you don't have to read all of these notes,
98 but do take note of the highlighted ``deep sentences.'')
100 <p><a href=
"sx1.html" rel=subdocument
>Preface
</a></p>
101 <p><a href=
"sx2.html" rel=subdocument
>Preface to the First Edition
</a></p>
102 <p><a href=
"sx3.html" rel=subdocument
>Introduction
</a></p>
103 <p><a href=
"sx4.html" rel=subdocument
>Chapter
1. A Tutorial Introduction
</a></p>
104 <p><a href=
"sx5.html" rel=subdocument
>Chapter
2: Types, Operators, and Expressions
</a></p>
105 <p><a href=
"sx6.html" rel=subdocument
>Chapter
3: Control Flow
</a></p>
106 <p><a href=
"sx7.html" rel=subdocument
>Chapter
4: Functions and Program Structure
</a></p>
107 <p><a href=
"sx8.html" rel=subdocument
>Chapter
5: Pointers and Arrays
</a></p>
108 <p><a href=
"sx9.html" rel=subdocument
>Chapter
6: Structures
</a></p>
109 <p><a href=
"sx10.html" rel=subdocument
>Chapter
7: Input and Output
</a></p>
112 <a href=
"sx1.html" rel=precedes
>Read Sequentially
</a>
115 This page by
<a href=
"http://www.eskimo.com/~scs/">Steve Summit
</a>
116 //
<a href=
"copyright.html">Copyright
</a> 1995,
1996
117 //
<a href=
"mailto:scs@eskimo.com">mail feedback
</a>