Skip Navigation
List Price: $55.11

Rent Book

Select for Price
Add to Cart Free Shipping
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

C,9780078821011

C

by
Format: Paperback
Pub. Date: 3/1/1995
Publisher(s): McGraw-Hill Osborne Media
Availability: This title is currently not available.

Summary

Another gem from Herb Schildt--best-selling programming author with more than 2.5 million books sold! C: The Complete Reference, Fourth Edition gives you full details on C99, the New ANSI/ISO Standard for C. You'll get in-depth coverage of the C language and function libraries as well as all the newest C features, including restricted pointers, inline functions, variable-length arrays, and complex math. This jam-packed resource includes hundreds of examples and sample applications.

Table of Contents

Preface xi
Part I The C Language
An Overview of C
3(14)
The Origins of C
4(1)
C Is a Middle-Level Language
4(2)
C Is a Structured Language
6(2)
C Is a Programmer's Language
8(1)
Compilers Versus Interpreters
9(1)
The Form of a C Program
10(1)
The Library and Linking
11(1)
Separate Compilation
12(1)
Compiling a C Program
12(1)
C's Memory Map
13(1)
C Versus C++
13(2)
A Review of Terms
15(2)
C Expressions
17(44)
The Five Basic Data Types
18(1)
Modifying the Basic Types
18(2)
Identifier Names
20(1)
Variables
21(6)
Access Modifiers
27(3)
Storage Class Specifiers
30(6)
Variable Initializations
36(1)
Constants
36(2)
Operators
38(18)
Expressions
56(5)
Program Control Statements
61(32)
True and False in C
62(1)
Selection Statements
62(13)
Iteration Statements
75(10)
Jump Statements
85(6)
Expression Statements
91(1)
Block Statements
91(2)
Arrays and Strings
93(22)
Single-Dimension Arrays
94(1)
Generating a Pointer to an Array
95(1)
Passing Single-Dimension Arrays to Functions
96(1)
Strings
97(2)
Two-Dimensional Arrays
99(6)
Multidimensional Arrays
105(1)
Indexing Pointers
106(2)
Array Initialization
108(3)
A Tic-Tac-Toe Example
111(4)
Pointers
115(26)
What Are Pointers?
116(1)
Pointer Variables
116(1)
The Pointer Operators
116(3)
Pointer Expressions
119(4)
Pointers and Arrays
123(2)
Multiple Indirection
125(2)
Initializing Pointers
127(2)
Pointers to Functions
129(2)
C's Dynamic Allocation Functions
131(5)
Problems with Pointers
136(5)
Functions
141(28)
The General Form of a Function
142(1)
Scope Rules of Functions
142(1)
Function Arguments
143(7)
argc and argv---Arguments to main()
150(4)
The return Statement
154(3)
Functions That Return Noninteger Values
157(2)
Function Prototypes
159(2)
Returning Pointers
161(1)
Functions of Type void
162(1)
What Does main() Return?
163(1)
Recursion
163(2)
Declaring Variable Length Parameter Lists
165(1)
Classic Versus Modern Function Parameter Declarations
165(1)
Implementation Issues
166(1)
Libraries and Files
167(2)
Structures, Unions, Enumerations, and User-Defined Types
169(32)
Structures
170(4)
Arrays of Structures
174(8)
Passing Structures to Functions
182(3)
Structure Pointers
185(3)
Arrays and Structures Within Structures
188(1)
Bit-Fields
189(3)
Unions
192(2)
Enumerations
194(3)
Using sizeof to Ensure Portability
197(1)
typedef
198(3)
Console I/O
201(22)
Reading and Writing Characters
202(2)
Reading and Writing Strings
204(3)
Formatted Console I/O
207(1)
printf()
207(8)
scanf()
215(8)
File I/O
223(36)
ANSI CI/O Versus UNIX I/O
224(1)
C Versus C++ I/O
224(1)
Streams and Files
225(1)
Streams
225(1)
Files
226(1)
File System Basics
226(13)
fread() and fwrite()
239(7)
fseek() and Random-Access I/O
246(1)
fprintf() and fscanf()
247(2)
The Standard Streams
249(2)
The UNIX-Like File System
251(8)
The C Preprocessor and Comments
259(18)
The C Preprocessor
260(1)
#define
260(3)
#error
263(1)
#include
264(1)
Conditional Compilation Directives
264(1)
#if, #else, #elif, and #endif
264(3)
#ifdef and #ifndef
267(1)
#undef
268(1)
Using defined
269(1)
#line
269(1)
#pragma
270(1)
The # and ## Preprocessor Operators
270(1)
Predefined Macro Names
271(1)
Comments
272(5)
Part II The C Standard Library
Linking, Libraries, and Header Files
277(10)
The Linker
278(4)
The C Standard Library
282(1)
Header Files
283(1)
Macros in Header Files
284(1)
Redefinition of Library Functions
285(2)
I/O Functions
287(54)
String and Character Functions
341(24)
Mathematical Functions
365(14)
Time, Date, and Other System-Related Functions
379(46)
Dynamic Allocation
425(22)
Screen and Graphics Functions
447(30)
PC Video Modes
448(29)
Miscellaneous Functions
477(30)
Part III Algorithms and Applications
Sorting and Searching
507(24)
Sorting
508(1)
Classes of Sorting Algorithms
508(1)
Judging Sorting Algorithms
509(1)
Bubble Sort---The Demon of Exchange
510(4)
Sorting by Selection
514(1)
Sorting by Insertion
515(1)
Improved Sorts
516(5)
Choosing a Sort
521(1)
Sorting Other Data Structures
522(3)
Sorting Random-Access Disk Files
525(3)
Searching
528(3)
Queues, Stacks, Linked Lists, and Trees
531(44)
Queues
532(6)
The Circular Queue
538(4)
Stacks
542(5)
Linked Lists
547(1)
Singly Linked Lists
547(6)
Doubly Linked Lists
553(4)
A Mailing-List Example
557(7)
Binary Trees
564(11)
Sparse Arrays
575(18)
The Linked-List Sparse Array
576(4)
The Binary-Tree Approach to Sparse Arrays
580(3)
The Pointer-Array Approach to Sparse Arrays
583(4)
Hashing
587(5)
Choosing an Approach
592(1)
Expression Parsing and Evaluation
593(24)
Expressions
594(2)
Dissecting an Expression
596(2)
Expression Parsing
598(2)
A Simple Expression Parser
600(6)
Adding Variables to the Parser
606(9)
Syntax Checking in a Recursive-Descent Parser
615(2)
AI-Based Problem Solving
617(52)
Representation and Terminology
618(2)
Combinatorial Explosions
620(2)
Search Techniques
622(1)
Evaluating a Search
622(1)
A Graphic Representation
623(1)
The Depth-First Search
623(13)
The Breadth-First Search
636(2)
Adding Heuristics
638(1)
The Hill-Climbing Search
639(6)
The Least-Cost Search
645(3)
Choosing a Search Technique
648(1)
Finding Multiple Solutions
649(8)
Finding the ``Optimal'' Solution
657(6)
Back to the Lost Keys
663(6)
Building a Windows 95 Skeleton
669(22)
Windows 95 Programming Perspective
670(2)
How Windows 95 and Your Program Interact
672(1)
Windows 95 Uses Preemptive Multitasking
673(1)
The Win32 API: The Windows 95 API
673(1)
The Components of a Window
674(1)
Some Windows 95 Application Basics
674(3)
A Windows 95 Skeleton
677(9)
The Window Function
686(1)
Using a Definition File
687(1)
Naming Conventions
688(3)
Part IV Software Development Using C
Interfacing to Assembly-Language Routines
691(18)
Assembly-Language Interfacing
692(1)
The Calling Conventions of a C Compiler
693(1)
The Calling Conventions of Microsoft C/C++
693(1)
Creating an Assembly-Code Function
694(10)
Creating An Assembly-Code Skeleton
704(2)
Using asm
706(1)
When to Code in Assembler
707(2)
Software Engineering Using C
709(12)
Top-Down Design
710(3)
Bulletproof Functions
713(2)
Using MAKE
715(5)
Using an Integrated Development Environment
720(1)
Efficiency, Porting, and Debugging
721(28)
Efficiency
722(10)
Porting Programs
732(2)
Debugging
734(11)
The Art of Program Maintenance
745(4)
Part V A C Interpreter
A C Interpreter
749(74)
The Practical Importance of Interpreters
751(1)
The Little C Specifications
751(2)
Interpreting a Structured Language
753(1)
An Informal Theory of C
754(3)
The Expression Parser
757(22)
The Little C Interpreter
779(32)
The Little C Library Functions
811(3)
Compiling and Linking the Little C Interpreter
814(1)
Demonstrating Little C
815(4)
Improving Little C
819(1)
Expanding Little C
820(3)
Index 823

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.

Visa
Mastercard
American Express
Comodo
McAfee