Next-Level C Programming (with Advanced C Topics)
Course Objectives
This ‘skills-centric’ course is about 50% hands-on lab and 50% lecture designed to train attendees in core C development skills, coupling the most current, effective techniques with the soundest coding practices. Students will explore a series of progressively advanced topics, where each topic consists of lecture, group discussion, practical hands-on lab exercises, and lab review. Working in a hands-on learning environment led by our expert practitioner, students will explore:
- Expression, Objects, and LValues
- Data Types, Constants, and Variables
- Scope and Storage Class
- Operators and Operands
- Arrays and Pointers
- Structures and Pointers
- Functions and Pointers
- Dynamic memory allocation and Linked Lists
Course Prerequisites
This course is geared for experienced C Language Applications Programmers, and Systems Programmers. Attendees should have at least three (3) months of C Language Programming experience.
Course Agenda
Expression, Objects, and LValues
- Evaluating Expressions
- Expression Side Effects
- Objects and Data Types
- Lvalues and Constants
Data Types, Constants, and Variables
- Basic Data Types
- Constant Data Types
- Variable Data Types
- Derived Data Types
- Data Type Renaming – typedef
Scope and Storage Class
- Internal Scope
- External Scope
- Extending Scope
- Storage Class
- Automatic
- External
- Static
- Register
Operators and Operands
- Operator Attributes
- Operator Action
- Number of Operands
- Precedence Level
- Associativity Direction
- Operand Attributes
- Data Type Restrictions
- Lvalue Requirements
- Expression Evaluation Result
- Data Type
- Value
- Lvalue
- Side Effects
Arrays and Pointers
- Multi Dimensional Arrays
- Pointer - Array Relationship
- Pointer Arithmetic
- Valid Pointer Operations
- Multiple Pointers to an Array
- Array Subscripting vs. Pointers
- Arrays of Pointers
- Multiple Levels of Indirection
Structures and Pointers
- Structure Review
- Structure Definition
- Structure Declaration
- Structure Holes
- Nested Structures
- Arrays of Structures
- Pointers to Structures
- Structures Containing Pointers
- Structure Variations
- Unions
- Bit Fields
- Enumerations
Functions and Pointers
- Function Declaration
- Old Style
- Function Prototypes (ANSI)
- Function Arguments and Parameters
- Basic Data Types
- Pointers to Basic Data Types
- Single and Multi-Dimensional Arrays
- Structures and Pointers to Structures
- Function Return Types
- void Data Type Functions
- Basic Data Type Functions
- Pointer to Data Type Functions
- Structure Data Type Functions
- Pointers to Functions
- Declaring Pointers to Functions
- Pointers to Functions as Formal Parameter
- Arrays of Pointers to Functions
- Functions Returning Pointers to Functions
Dynamic memory allocation and Linked Lists
- Dynamic Memory Allocation
- Dynamic Memory Allocation Concepts
- Library Function: malloc
- Library Function: free
- Linked Lists
- Linked List Concepts
- Linear Linked List
- Bi-directional Linked List
- Linked List Conclusions
Sorry! It looks like we haven’t updated our dates for the class you selected yet. There’s a quick way to find out. Contact us at 502.265.3057 or email info@training4it.com
Request a Date