C: Data Structures, Pointers, and File Systems
2h 58mIntermediate2019-05-01
Authors

Dan Gookin
Creator, Teacher, and Technology Writer with 20+ years of experience
Course details
C is a foundational language for a variety of other programming languages, as well as an up-and-coming language for embedded systems. If you’re interested in broadening your knowledge of C, then this course is for you. Join instructor Dan Gookin as he takes a deep dive into data structures, pointers, and other key topics in this essential programming language. Dan digs into a variety of programming concepts such as arrays, structures, characters, and strings. He also goes over pointers—variables that hold a memory location—explaining how to use pointers to manipulate data, do pointer math, and more. He wraps up the course by sharing a few special techniques, including how to solve math puzzles with C.
Learning objectives
Working with arrays
Building a structure
Creating an array of structures
Testing characters
Working with strings in C
Using pointers to manipulate data
Manipulating files
Using command-line arguments
Working with time functions
Learning objectives
Working with arrays
Building a structure
Creating an array of structures
Testing characters
Working with strings in C
Using pointers to manipulate data
Manipulating files
Using command-line arguments
Working with time functions
Skills covered
CData EngineeringEssential TrainingProgramming LanguagesData ScienceOpen SourceSoftware Development
Concepts
Introduction
- Learn data structures and pointers in C
- Using the exercise files
- Configuring the IDE
Arrays and Structures
- Understanding arrays
- Working with arrays
- Modifying arrays
- Passing an array to a function
- Working multi-dimensional arrays
- Building a structure
- Nesting structures
- Creating an array of structures
- Sending a structure to a function
- Understanding a union
- Challenge - Presidents of the U.S.A.
- Solution - Presidents of the U.S.A.
Characters and Strings
- Using single character I O
- Testing characters
- Working with character conversions
- Understanding strings in C
- Fetching string input
- Sending string output
- Reviewing printf() placeholders
- Using printf() placeholders
- Exploring string functions
- Manipulating strings
- Avoiding string problems
- Challenge - String I O and manipulation
- Solution - String I O and manipulation
Pointers
- Understanding pointers
- Using pointers to manipulate data
- Doing pointer math
- Comparing arrays and pointers
- Allocating storage
- Working with a pointer array
- Using pointers in structures
- Passing pointers to functions
- Returning pointers
- Challenge - Create a pointer array
- Solution - Create a pointer array
Files and the Operating System
- Reading from a file
- Writing to a file
- Working with raw data
- Using random file access
- Manipulating files
- Exploring the path
- Reading a directory
- Getting file information
- Using command line arguments
- Calling the operating system
- Challenge - Read and store filenames
- Solution - Read and store filenames
The Interesting and Extraordinary
- Solving math puzzles
- Creating random numbers
- Working with time functions
- Sorting data
- Debugging your code
- Using a debugger
- Writing your own header file
- Mixing multiple source code files
- Challenge - Lotto simulation
- Solution - Lotto simulation
Conclusion
- Next steps