C Programming: Exploring Advanced Concepts and Practical Applications
1h 51mAdvanced2024-09-19
Authors

Dan Gookin
Creator, Teacher, and Technology Writer with 20+ years of experience
Course details
Are you ready to embark on the next phase of your journey with C? Join instructor Dan Gookin in this hands-on course as he demonstrates advanced-level skills and their practical applications with insightful comments and quick tips along the way. Find out what it takes to master your craft and become an expert C programmer, exploring a wide range of topics including basic I/O from the perspective of device IDs, outputting Unicode and wide-character text, multitasking and multithreading programming, linked lists, enumerated constants, data type qualifiers, the errno variable, buffered output, forking, pipes, and more.
Skills covered
Programming FoundationsAdvancedProgramming LanguagesSoftware Development
Concepts
0. Introduction
- 01 - Beyond C
- 02 - Configuration and setup
1. Standard I O
- 03 - Understanding file numbers and descriptors
- 04 - Using the standard error device
- 05 - Buffered and unbuffered output
- 06 - Flushing the buffer
- 07 - Opening the terminal
- 08 - Challenge - Outputting a byte count
2. The Environment and the Locale
- 09 - Reading the environment
- 10 - Adding an environment variable
- 11 - Setting the locale
- 12 - Outputting a monetary format
- 13 - Challenge - Pretending you're elsewhere
3. Unicode and Wide Text
- 14 - Understanding Unicode and wide characters
- 15 - Outputting wide characters
- 16 - Reading wide character input
- 17 - Challenge - Creating fancy text output
4. Processes, Pipes, Forks, and Threads
- 18 - Knowing the process ID
- 19 - Creating a fork
- 20 - Working with pipes
- 21 - Running threads
- 22 - Communicating between threads
- 23 - Challenge - Doing multiple things at once
5. Linked Lists
- 24 - Understanding linked lists
- 25 - Building a linked list foundation
- 26 - Adding and listing nodes
- 27 - Saving a linked list
- 28 - Loading a linked list
- 29 - Removing a node
- 30 - Challenge - Editing a node
6. Odds and Ends
- 31 - Creating enumerated constants
- 32 - Exploring data type qualifiers
- 33 - Outputting accurate error messages
- 34 - Making a temporary file
- 35 - Modifying how a program quits
- 36 - Reviewing useful constants
- 37 - Challenge - Write an informative program
Conclusion
- 38 - Next steps