When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

DartmouthX, IMTx: C Programming: Pointers and Memory Management
Continue building your coding skills along your path to becoming a proficient C programmer by mastering the concept of pointers and memory management. Receive instant feedback on your code right within your browser.

This Course Includes
edx
0 (0 reviews )
5 weeks at 2-4 hours per week
english
Online - Self Paced
course
DartmouthX
About DartmouthX, IMTx: C Programming: Pointers and Memory Management
In this course, we will examine a key concept, foundational to any programming the usage of memory.
This course builds upon the basic concept of pointers, discussed in C Programming: Modular Programming and Memory Management, and introduces the more advanced usage of pointers and pointer arithmetic. Arrays of pointers and multidimensional arrays are addressed, and you will learn how to allocate memory for your own data during program execution. This is called dynamic memory allocation at runtime using pointers.
Within moments you will be coding hands-on in a new browser tool developed for this course, receiving instant feedback on your code. No need to install anything!
In this course, you will gain experience with programming concepts that are foundational to any programming language.
At the end of this short course, you will reach the fourth milestone in the C Programming with Linux Professional Certificate program, unlocking the door to a career in computer engineering.
This course has received financial support from the Patrick & Lina Drahi Foundation.
What You Will Learn?
- Visualize the concept of a pointer and use it to pass variables to functions by reference in order to modify them via the function.
- Apply pointer arithmetic in order to address elements of both one-dimensional and multi-dimensional arrays.
- Use arrays of strings to store lists of strings in one array variable.
- Control memory usage by dynamically allocating and freeing memory at runtime.