C Programming: Pointers and Memory Management

Course 4 of 7: Professional Certificate in C Programming with Linux 7 Weeks 2 - 4 Hours per week

Please select the start dates for your courses below.

Scheduled Start:

About this course

In this course, we will examine a key concept, foundational to any programming language: 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’ll 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

Meet your instructors

Petra Bonfert-Taylor

Petra Bonfert-Taylor is a Professor and an Instructional Designer at the Thayer School of Engineering at Dartmouth College. She received her Ph.D. in Mathematics from Technical University of Berlin (Germany) in 1996 and subsequently spent three years as a postdoctoral fellow at the University of Michigan before accepting a tenure-track position in the Mathematics Department at Wesleyan University. She left Wesleyan as a tenured full professor in 2015 for her current position at Dartmouth College. Petra has published extensively and lectured widely to national and international audiences. Her work has been recognized by the National Science Foundation with numerous research grants. She is equally passionate about her teaching.The recipient of the Binswanger Prize for Excellence in Teaching at Wesleyan University, the Excellence in Teaching Award at the Thayer School of Engineering and the NH High Tech Council Tech Teacher of the Year Award, Petra has a strong interest in broadening access to high-quality higher education and pedagogical innovations that aid in providing equal opportunities to students from all backgrounds.

Rémi Sharrock

Rémi Sharrock is an associate professor at Telecom ParisTech, IMT, France. He received his Ph.D. in Computer Science from the National Polytechnic Institute of Toulouse, France in 2010. Rémi’s main research focuses on large scale distributed systems and autonomic computing, as well as their applications to learning at scale. He’s passionate about innovative tools for online learning and has received the “MOOC of the year prize” for two of his french courses on C programming and Linux.


7 Weeks

Experience Level


Learning Partner