Additional C Topics
The following documents and code examples were all written by
the author of the Coronado Enterprises Tutorials and are intended
to clarify or illustrate some of the more difficult aspects of programming.
The author has taught several programming courses in recent years,
and these documents explain some of the most difficult to understand
topics for many students. These topics are all covered in the tutorials,
but not to the depth they are covered here. This list will be augmented
with additional topics as the need arises. Suggestions for additional
topics are welcome.
Memory Diagram - (C, C++ / Beginning)
This document defines the graphical notation used throughout the
rest of these documents. Some of the essential parts of a memory
map such as the stack and the heap are also defined here for new
programmers. It is suggested that you read this document first.
Arrays and Pointers - (C, C++
It is often and erroneously said that "an array is a pointer."
This popular misconception is refuted in this document and the correct
definition of the relationship between a pointer and an array is
Pointers and Dynamic Allocation
- (C, C++ / Beginning to Intermediate)
This document explains the difference between a pointer and the
data it accesses, and it defines how dynamic allocation is accomplished.
It also illustrates some of the responsibilities placed upon the
programmer when using dynamic allocation.
Parameter Passing - (C, C++ /
Beginning to Intermediate)
A complete understanding of how C or C++ passes parameters to a
function is necessary in order to write robust programs. This document
carefully defines how variables, pointers, and structures are passed
to a function via a parameter.