Paul Tibbitts - C Programming
An Introduction to Prgramming in C
Diving into C
The General Structure of a C Program
Compiling and Linking
The
main()
Function
Using
#include
Simple Console Output
Command Line Arguments
Comments
Variables and Arrays
Variable Types
Declaring Variables
Arrays
Using
sizeof
Constants and Operators
Expressions
Initializers
Casting
Converting
Control Structures
The
if
Test
Comparison Operators
The
while
Loop
The
for
Loop
The
switch
Statement
File I/O
Opening and Closing Files
Reading Text
Reading Binary
Writing to Files
Console I/O
Pointers
What is a Pointer?
Declaring Pointers
Dereferencing Pointers
Pointers to Arrays
Pointer Arithmetic
Pointers as Function Parameters
Functions
Declaring Functions
Calling Functions
Passing Parameters by Value
Passing Parameters by Reference
Return Values
Function Prototypes
Dynamic Memory
The Real World
Using
malloc()
and
realloc()
Danger of Null Pointers
Allocating Arrays
Multidimensional Arrays
Using
calloc()
Freeing Unneeded Memory
Structures
Modeling Data
Defining Structures
Declaring Structure Variables
Accessing Elements
Pointers to Structures
Strings and Bytes
Strings are char Arrays
Pointers to Strings
String Length
Comparing Strings
Other String Functions
Character Functions
Generic Byte-Oriented Functions
The Preprocessor
Symbolic Constants
Manifest Constants
Macros
Conditional Compilation
Using
typedef
Bit Fiddling
Why Use Bits?
Bit Fields and Why Not to Use Them
Hex and Octal Constants
Bitwise Operators
Testing and Setting Bits
Bit Macros
Scope and Storage Class
Automatic Variables
External Variables
Accessing Bata in Other Source Files
Static Variables
Global Variables and Sanity
Common Mistakes
Uninitialized Variables
Null Pointers
Using
=
for
==
Referencing Past End of Arrays
Memory Leaks
Returning Auto Data from Functions
Programming Style
Indenting
Comments
Variable Names
Source File Layout
Multiple Source Files
Multi-file Projects
Object Files
Header Files
Library Files
The Linker
A Simple Makefile
Back to Training Home