Advanced C Programming
6/30/2020 - 7/2/20208/31/2020 - 9/2/2020COURSE LENGTH:
9:00am - 4:30pm
The C Programming Language was originally created to write the UNIX operating system. It quickly turned into a multi-purpose language used by all types of programmers for a wide variety of applications. C is a small language that can be learned quickly. It is highly structured and modular, supporting both small and large programs equally well. This course fills the gap between an introductory course in C and more advanced application programming. Students learn about basic and derived data types, parameter passing, standard and low level file I/O, working with malloc and calloc, the memory layout of C programs, and linked lists.
AUDIENCE AND PREREQUISITES
C programmers who need to advance their coding skills.
*Course Cost listed does not include the cost of courseware or lunch, required in your registration. Please refer to your Invoice for the additional cost. If you have any questions, please contact us (firstname.lastname@example.org or 207-775-0244). Course subject to minimum enrollment.
Introduction Course Objectives Course Overview Suggested ReferencesThe C Development Environment The cc(1) Command Include Files LibrariesBasic and Derived Data Types in C Simple C data types Integral data types Floating point types Derived data types Array data types - single and multi-dimensional Structure data types Simple pointer types Pointers to structures/multiple pointers Pointers to functions The const qualifier Bit operators Using typedefFunction: Calling, Passing, and Returning Values Anatomy of a function Parameter Passing - pass by value Parameter passing - pass by referenceStandard I/O Stabdard I/O streams File access Formatted I/O Strinf I/O File positioning operations Block I/O File access Direct I/O File positioning Error handlingMemory Allocation with malloc and calloc Dynamic memory allocation overview malloc(), calloc() realloc(), free() Structure Pointers Array of pointers to structuresMemory Organization and the Scope of Variables Command line arguments (argc, argv) The memory layout of a C Program The stack segment The heap segmentData Structures - Linked Lists Array limitations Linked lists List of operations - formation List of operations - deleteAppendix A Debugging Techniques Debugging Hints Debugging with Pre-Processing Directives Symbolic DebuggersAppendix B Coding from Pseudo Code Project Header Files Project Source Files Project Tracking (Bookkeeping)Appendix C Overview of the Make Utility Using the Make Utility Simple Makefile CommandsAppendix D Preparing to Use a Debugger Project Header Files Project Source Files Project Tracking (Bookkeeping)