You are on page 1of 2

Advanced C Programming

delivered by:

This C course is designed for the practicing software developer and allows you to gain a better understanding of the language, run-time library and software engineering techniques available with C. C is an extremely rich yet concise programming language that is suitable for complex software developments. However, good C coding style and an in-depth knowledge of the language is vital to ensure software quality. Even after considerable C programming experience, there can be areas of the language that are not well understood, and Advanced C will help you to address these gaps. Far from standing still, the C language has steadily developed, and practitioners may have missed these changes. This C course is designed for the practising software developer and allows you to gain a better understanding of the language, run-time library and software engineering techniques available with C. Advanced C increases delegates knowledge and understanding of the language, including the recent ISO 9899:1999 (C99) standard changes, and helps delegates to gain experience in areas of C that previous work may not have covered. Delegates will also be better equipped to write and maintain large C programs, and will also gain a better understanding of the way the language works and is implemented. There are appendices in the course material that make reference to modularisation, internationalisation, common pitfalls and AVL trees. On Completion, delegates will be able to: read and write complex data declarations and type definitions use advanced pointer techniques to construct and work with complex data structures use advanced standard library functions, including process control, searching and sorting handle memory allocation exploit features of C99 Who Should Attend Experienced C programmers. Prerequisites Delegates must have solid experience of C including structured data types (struct and array); declaration and use of pointers; function declaration, definition and use; call by value; call by pointer; dynamic memory allocation (i.e. malloc and free); multiple source file projects (requiring project files or makes files). We recommend delegates have at least six months of concentrated C programming experience. The course will also benefit self-taught C programmers wishing to gain a formal education in the language.

Advanced C Programming
delivered by:

Course Content
C Standards: A Review K&R1 and STDC style function differences; Type qualifiers: const and volatile, C99 changes; inline functions; Limits The Preprocessor Predefined symbols; Conditional compilation; Advanced directives; Digraphs and Trigraphs; Variadic Macros (C99) Understanding Complex Declarations Reading and writing declarations; Using typedefs effectively; Using casts Advanced Pointers Using void pointers; Defining and using function pointers; Restricted pointers (C99) Advanced Array Handling Arrays and functions; Multidimensional arrays; Pointers and arrays; C99 Variable Length Arrays Advanced Structure Issues Initialising Structures; C99 changes; Bitfields; Packing and padding; Reading and writing to files Dynamic Memory Allocation Allocating arrays; Allocating structures; Error-detection techniques Process Control Starting a process; Returning values; Exception processing; Environment variables Other Useful Functions Writing variadic functions; v*printf and v*scanf; Time-and-date processing; Random numbers Sorting and Searching Survey of techniques; Using bsearch; Using qsort Stacks, Queues and Lists Linked-list principles; Using recursive functions; Implementing a circular list; Implementing a selfadjusting list Binary Trees Using trees for sorted data; Insertion and deletion

Maximum number of delegates: 8 Cost: Members 8 units, 1200 +VAT Non-members - 1800 +VAT

To register please email our Training Co-ordinator on registrations@thelearningcollaboration.com

You might also like