Advanced
C Programming
Overview
This practical 3 day course is designed to give programmers
using C a better understanding of the language. It is targeted
at developers who are using C in their day to day work and
wish to increase their knowledge of the features available.
There are exercises throughout the course to assist understanding
of the subjects covered.
Pre-requisites
The syllabus is designed for C programmers who
have at least 6 months experience of coding in ISOC. Attendees
should have a good understanding of aggregate data types
(structures/unions/arrays), use of pointers, dynamic memory
allocation using malloc and free, functions(pass by reference/pass
by value).
Audience
Programmers who are using C in their day to day work and
wish to increase their knowledge of the features available.
Student
Numbers
The maximum recommended student to instructor ratio
is 12:1
Objectives
By the end of the course, the delegates will be able, with
the aid of course notes to:
· Use advanced library functions such as qsort and
bsearch.
· Program using advanced pointer techniques.
· Code programs using pointers to functions.
· Edit Input Messages using IPRSE.
· Process multi-dimensional arrays.
Course
Outline
| Introduction |
Review
of current C knowledge |
| Arrays |
Multidimensional
Arrays
Pointers and Arrays
Arrays and Functions |
| DLMs |
Building
Assembler Programs into a DLM.
Compiler Options and their effect
Understanding Linkage and the DLM Map. |
| Dynamic
Data Structures |
Link
Lists - Overview
Declaring structures for Link Lists
Adding and deleting Link List items
Dynamically Sized Arrays |
| Pointers |
Void
pointers explained
Pointers to pointers |
| Functions |
Pass
by Reference reviewed
Functions and pointers to pointers
Using Pointers to Functions
Arrays of Pointers to Functions |
| Parameters |
Using
argv and argc
Processing parameters |
| Input
Messages |
IPRSE
- an input message editor
Using Grammars |
| Built
in Functions |
Sorting
data using qsort( )
Searching using bsearch( ) |