Log In
Join
 for free
Log In
Join
 for free
Back To Course Home
Advanced Programming Techniques in C
0% completed
Introduction
Who Should Take This Course?
Course Learning Outcomes
Pointers
Memory Addresses
Introduction to Pointers
Pointer Operators
Double Pointers
More Pointer Types
Challenge: Calculate the Area and Perimeter
Solution Review: Calculate the Area and Perimeter
Quiz on Pointers
Arrays
What is an Array?
Initializing Arrays
Arrays and Memory
Accessing an Out of Bound Index
Printing Addresses and Accessing Elements of an Array
Defining the Size of an Array
Copying Arrays
Challenge: Multiply Array Elements by 3
Solution Review: Multiply Array Elements by 3
Quiz on Arrays
Strings
Introduction to Strings
Traversing Strings
Difference Between a Numeric Array and a String
Multi-Word Strings
Pointers and Strings
Challenge: Convert a String Into an Integer
Solution Review: Convert String Into an Integer
Quiz on Strings
String Functions
Standard Library Functions
Finding String Length
Copying String
Concatenating Two Strings
Converting String to Uppercase
Comparing Two Strings
Outputting Strings
Challenge: Generate the Nth Fibonacci Word
Solution Review: Generate the Nth Fibonacci Word
Quiz on String Functions
Structures
Different Ways of Handling Data
Handling Data Using Arrays
Handling Data Using Structures
Declaring and Defining Structures
Structures and Memory
Alignment of Elements in a Structure
Array of Structures
Structure and Pointers
Copying Structure
Nested Structures
Passing a Structure to a Function
Applications of a Structure
Challenge: Compare Two Given Dates
Solution Review: Compare Two Given Dates
Quiz on Structures
Union
Introduction to a Union
Comparison Between a Union and a Structure
Endianness and the Union
Access the Same Data in Different Ways Using a Union
Utility of a Union
Quiz on Union
Enumerations
Storing Data Using Strings, Constants, and Macros
Introduction to Enumeration
Embedding Variables of an Enum Into a Structure
Quiz on Enumeration
Function Pointers
Calling Functions
Using Quick Sort
Challenge: An Array of Function Pointers
Solution Review: An Array of Function Pointers
Quiz on Function Pointers
Variable Argument Lists
Use of Variable Argument Lists
Display Any Number of Values
Challenge: Calculate the Average of Any Number of Integers
Solution Review: Calculate the Average of Any Number of Integers
Quiz on Variable Argument Lists
Working With Bits
Numbering Systems
Binary to Decimal
Common Bitwise Operations and Operators
One's Complement Operator
Left Shift and Right Shift Operators
The Utility of the Left Shift and Right Shift Operators
Challenge: Convert 2-Bytes Time Into Hours, Minutes, and Seconds
Solution: Convert 2-Bytes Time Into Hours, Minutes, and Seconds
Quiz on Bits
AND, OR, and XOR Operators
Masks and Their Construction
The Utility of the AND Bitwise Operator
The Utility of the OR Bitwise Operator
The Bitwise Compound Assignment Operator
Applications of Bitwise Operators
Challenge: Turn On the 3rd and 5th Bits
Solution Review: Turn On the 3rd and 5th Bits
Quiz on Bits
Recursion
Different Forms of Recursion
Find the Sum of Digits of the Whole Number
Find the Factorial
Tips, Applications, and Typical Recursive Calls
Challenge: Recursive Base Converter
Solution Review: Recursive Base Converter
Challenge: Recursive Prime Factors
Solution Review: Recursive Prime Factors
Challenge: Paper Sizes
Solution Review: Paper Sizes
Quiz on Recursion
Classical Recursive Problems
Challenge: Recursive Towers of Hanoi
Solution Review: Recursive Towers of Hanoi
Challenge: Beckett's Problem
Solution Review: Beckett's Problem
Static and Dynamic Memory Allocation
Memory Allocation
Static Memory Allocation
Static Memory Allocation: Example Program
Dynamic Memory Allocation
Dynamic Memory Allocation: Example Program
Challenge: Dynamically Allocate Space for Two Structures
Solution Review: Dynamically Allocate Space for Two Structures
Quiz on Static and Dynamic Memory Allocation
Type casting and Typedef
Type casting
Typedef
Variable Length Structure
Type casting and malloc( )
Quiz on Type Casting and Typedef
C Under Linux
Introduction to Linux
Executing C Programs on a Linux Environment
Processes
Forking
Parent and Child
Signals
Handling Multiple Signals
Quiz on C Under Linux
Command Line Arguments
Command Line Arguments
Use of Command Line Arguments
Quiz on Command Line Arguments
Creating Libraries
Libraries
Create a Static Library
Static Library: Create the Client
Quiz on Static Libraries
Create a Dynamic Library
Dynamic Library: Create the Client
Quiz on Dynamic Libraries
Debugging C Programs
Errors
What is gdb?
Entering and Exiting gdb Mode
Execute the Entire Program Using gdb
Step, Next, and Breakpoints
Traditional Testing vs. Unit Testing
Create and Run Unit Testing Using CUnit Framework
Quiz on Debugging
Conclusion
Next Steps
What is gdb?
Study gdb and its applications.
We'll cover the following
gdb
Applications of gdb
gdb
Get hands-on with 1200+ tech skills courses.
Start Free Trial