VOOZH about

URL: https://www.coursera.org/learn/c-programming-pointers-and-memory-management

⇱ C Programming: Pointers and Memory Management - 4 | Coursera


C Programming: Pointers and Memory Management - 4

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

C Programming: Pointers and Memory Management - 4

5,122 already enrolled

Included with

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.7

66 reviews

Beginner level

Recommended experience

7 hours to complete
Flexible schedule
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
4.7

66 reviews

Beginner level

Recommended experience

7 hours to complete
Flexible schedule
Learn at your own pace

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

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

4 assignments

Taught in English

Build your subject-matter expertise

This course is part of the C Programming with Linux Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 5 modules in 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 browser tool developed for this course, receiving instant feedback on your code. No need to install anything! Why learn C and not another programming language? Did you know that smartphones, your car’s navigation system, robots, drones, trains, and almost all electronic devices have some C-code running under the hood? C is used in any circumstance where speed and flexibility are important, such as in embedded systems or high-performance computing. In this course, you will also gain experience with programming concepts that are foundational to any programming language. At the end of this course, you will reach the fourth milestone in the C Programming with Linux Specialization, unlocking the door to a career in computer engineering. Your job Outlook: - Programmers, developers, engineers, managers, and related industries within scientific computing and data science; - Embedded systems such as transportation, utility networks, and aerospace; - Robotics industry and manufacturing; - IoT (Internet of Things) used in smart homes, automation, and wearables. - IEEE, the world’s largest technical professional organization for the advancement of technology, ranks C as third of the top programming languages of 2021 in demand by employers. (Source: IEEE Spectrum) This course has received financial support from the Patrick & Lina Drahi Foundation.

Let's start coding! You will get familiar with the leaning tools our team has developed to make learning code easier.

What's included

4 videos10 readings1 assignment1 app item3 discussion prompts

4 videosTotal 12 minutes
  • Let's get started2 minutes
  • Get to work with Codecast 4 minutes
  • Learn about Taskgrader3 minutes
  • How to navigate the third party tool?3 minutes
10 readingsTotal 48 minutes
  • Course syllabus10 minutes
  • Two universities teamed up to offer a new specialization in C Programming with Linux2 minutes
  • The course team5 minutes
  • Collaborative MOOC2 minutes
  • Earn a Specialization from Dartmouth and IMT1 minute
  • Get the most out of this course1 minute
  • Pre-course survey10 minutes
  • Learn how to use Codecast and Taskgrader5 minutes
  • Codecast Sandbox2 minutes
  • Learn how to post code on the Coursera forum10 minutes
1 assignmentTotal 10 minutes
  • Are you ready to start?10 minutes
1 app itemTotal 1 minute
  • Syntax highlighting in Codecast1 minute
3 discussion promptsTotal 16 minutes
  • Introduce yourself5 minutes
  • Learn how to post code on the Coursera forum10 minutes
  • Technical, general, organisational and other questions1 minute

By the end of Week 1, you will be able to both visualize the concept of a pointer in memory and use pointers in functions with simple pointer arithmetic. You will also demonstrate that an array name is a pointer performing pointer arithmetic and will create functions that accept and modify arrays.

What's included

1 assignment4 app items

1 assignmentTotal 5 minutes
  • Self-assess your learning in Memory and pointers5 minutes
4 app itemsTotal 130 minutes
  • Define and dereference pointers60 minutes
  • Use pointers with functions30 minutes
  • Work with pointer arithmetic20 minutes
  • Pass arrays to functions20 minutes

By the end of Week 2, you will be able to deference pointers using array notation and star notation. You will also be able to store multiple strings in an array and manipulate matrices.

What's included

1 assignment2 app items

1 assignmentTotal 5 minutes
  • Self-assess your learning in Multidimensional arrays5 minutes
2 app itemsTotal 75 minutes
  • Work with arrays and pointers30 minutes
  • Store and manipulate strings in arrays45 minutes

By the end of Week 3, you will be able to distinguish between the stack and the heap memory spaces. You will also be able to allocate and deallocate memory programmatically in the heap for arrays.

What's included

1 assignment3 app items

1 assignmentTotal 5 minutes
  • Self-assess your learning in Dynamic memory allocation5 minutes
3 app itemsTotal 105 minutes
  • Allocate memory at runtime30 minutes
  • Free dynamically allocated memory30 minutes
  • Store and address arrays in dynamically allocated memory45 minutes

What's included

1 video2 readings

1 videoTotal 1 minute
  • Closing MOOC 4 - C Programming: Pointers and Memory Management 1 minute
2 readingsTotal 12 minutes
  • Congratulations2 minutes
  • End of course survey10 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructors

Instructor ratings
4.9 (18 ratings)
Institut Mines-Télécom
7 Courses31,527 learners
Dartmouth College
7 Courses31,527 learners

Explore more from Software Development

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    81.81%

  • 4 stars

    13.63%

  • 3 stars

    1.51%

  • 2 stars

    3.03%

  • 1 star

    0%

Showing 3 of 66

AS
·

Reviewed on Dec 3, 2022

Great course with excellent explanation and visualization.

UO
·

Reviewed on Apr 30, 2026

There are no words to describe how beautiful the entire course is! Particularly the memory point visualization. Many thanks to the course instructors!

PM
·

Reviewed on Aug 7, 2025

Excellent course, recommend to anyone thinking of moving into programming.

Frequently asked questions

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,