We may earn an affiliate commission when you visit our partners.
Course image
Course image
Coursera logo

Introduction to Pointers and Memory Management in C/C++

Anirudh Balasubramanian
In this 1-hour long project-based course, you will learn how to create memory-safe applications in both C and C++, discover how to use pointers and dynamic memory in a modern application, and implement/customize the Big 3/5 for your own application. By the...
Read more
In this 1-hour long project-based course, you will learn how to create memory-safe applications in both C and C++, discover how to use pointers and dynamic memory in a modern application, and implement/customize the Big 3/5 for your own application. By the end of the project, you will have a working knowledge of how to use memory in C and C++, and learn how to create, manipulate, and destroy pointers. Memory management is critical to modern high-performance applications, with C/C++ continuing to be the industry standard for applications dealing with dynamic memory. The ability to significantly speed up your program using pointers/dynamic memory continues to draw programmers to C and C++. In addition, memory management is an essential topic for many students who need to learn about how their computer stores and alters variables in their programs. This course works on the Rhyme platform, which allows you to have a custom Windows VM that ensures you do not have to worry about any of the setup work for your application. Students will be able to code along on their desktop and learn by coding with the instructor. At the end of the course, you will receive the files you created in the course. Note: This course works best for learners who are based in the North America region. We are currently working on providing the same experience in other regions.
Enroll now

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores memory management in C and C++, which are industry standards for applications dealing with dynamic memory
Develops skills in creating, manipulating, and destroying pointers, which are essential for memory management in C/C++
Builds a strong foundation for beginners in memory management concepts, with hands-on labs and interactive materials
Taught by Anirudh Balasubramanian, who is an expert in memory management and has worked on industry-leading applications
Uses a custom Windows VM on the Rhyme platform, ensuring learners do not have to worry about setup work

Save this course

Save Introduction to Pointers and Memory Management in C/C++ to your list so you can find it easily later:
Save

Reviews summary

Well-received intro to pointers & memory management

Overall, this course has been well-received by learners. Many have remarked that this is a "good" course that is "very good" for "beginners" or those "new" to learning about pointers or memory management. Students especially appreciate that this course is "project-based," which makes learning and retaining these new concepts easier. However, some students have mentioned that this course might not be the best fit for those who are "intermediate" learners or higher who are already familiar with these concepts and are instead looking for more advanced topics.
Hands-on learning
""Learnt new things in clear. Thank you..""
""good explanation of pointers and memory management""
Great for beginners
""This is advertised as intermediate. Its not. Its basic/beginner level.""
""I regret paying for this.""
""I feel like the tutor is just repeating things on screen without explaining much.""
" "Plus, my experience with Rhyme is quite bad, I cannot zoom in the video and if I do, it is cut by the frame even though I have expanded it.""
May contain some errors
""There are glaring inaccuracies in this course.""
""The ampersand in something being passed by reference is being referred to as taking the address while discussing pointers. That's just plain wrong.""
Instructor could be more advanced
""Somethings were new, so not all was bad.Some questions in graded exercise seemed incorrectly marked.""
" "M​ore output examples would be valuable, so that you can see what the outcome of a copy- or move constructor is.""
May not be enough for experienced learners
""S​eems not to be introduction but advanced topics explaination""
""I regret paying for this.""
""I feel like the tutor is just repeating things on screen without explaining much.""

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Pointers and Memory Management in C/C++ with these activities:
Watch video tutorials on memory management in C or C++
Supplement your learning by watching video tutorials on memory management.
Browse courses on Memory Management
Show steps
  • Search for video tutorials on memory management in C or C++.
  • Watch the tutorials and take notes.
Complete practice problems on memory management in C/C++
Reinforce your understanding of pointers and memory management by completing coding challenges.
Browse courses on Pointers
Show steps
  • Find practice problems on memory management in C/C++ online.
  • Solve the problems and check your solutions.
Review 'Pointers in C' by Yashavant Kanetkar
Reinforce your understanding of pointers by reading a book dedicated to it.
Show steps
  • Purchase or borrow 'Pointers in C' by Yashavant Kanetkar.
  • Read Chapter 7, which covers pointers.
  • Complete the practice exercises at the end of the chapter.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Review 'Pointers and Memory Management in C++' by Mark Allen Weiss
Further your understanding of memory management in C++ with a dedicated book.
Show steps
  • Purchase or borrow 'Pointers and Memory Management in C++' by Mark Allen Weiss.
  • Read Chapter 4, which covers memory management.
  • Complete the practice exercises at the end of the chapter.
Attend a workshop on memory management in C or C++
Expand your knowledge and connect with other professionals by attending a workshop.
Browse courses on Memory Management
Show steps
  • Search for workshops on memory management in C or C++.
  • Register for a workshop and attend the sessions.
Create a simple memory management application in C or C++
Apply your knowledge of pointers and dynamic memory to a practical project.
Browse courses on Memory Management
Show steps
  • Design a simple application that requires the use of pointers and dynamic memory allocation.
  • Implement the application in C or C++.
  • Test the application and fix any bugs.
Write a blog post or article about memory management in C/C++
Strengthen your understanding by teaching others about memory management in C/C++.
Browse courses on Memory Management
Show steps
  • Choose a specific aspect of memory management to focus on.
  • Research the topic thoroughly.
  • Write a blog post or article sharing your knowledge and insights.
Mentor other students in the course or in online forums
Deepen your understanding by helping others learn about memory management.
Show steps
  • Identify students who may need help with memory management.
  • Offer your assistance and provide guidance.

Career center

Learners who complete Introduction to Pointers and Memory Management in C/C++ will develop knowledge and skills that may be useful to these careers:
Applications Developer
Applications Developers (sometimes called Software Developers, Application Engineers, or Programmers) design, build, test, deploy, maintain, and update application software. This course could help you build a foundation in the concepts of memory management. Having this strong foundation can help you be a more effective Applications Developer.
Machine Learning Engineer
Machine Learning Engineers design, build, and maintain machine learning models. This can include collecting, cleaning, and analyzing data, as well as developing and deploying machine learning models. This course may be useful since it will help you build a foundation in memory management, which is a critical part of machine learning engineering.
Database Administrator
Database Administrators are responsible for the installation, configuration, maintenance, and performance monitoring of database management systems. This course may be useful since it will help you build a foundation in memory management, which is a critical part of database administration.
Web Developer
Web Developers design, build, and maintain websites and web applications. This course may be useful since it will help you build a foundation in memory management, which is a critical part of web development.
Network Administrator
Network Administrators are responsible for the installation, configuration, maintenance, and performance monitoring of computer networks. This course may be useful since it will help you build a foundation in memory management, which is a critical part of network administration.
Computer Hardware Engineer
Computer Hardware Engineers design, build, and maintain computer hardware. This can include designing the circuit boards, chips, and other components of the computer.
Game Developer
Game Developers design, build, and maintain video games. This course may be useful since it will help you build a foundation in memory management, which is a critical part of game development.
Robotics Engineer
Robotics Engineers design, build, and maintain robots. This can include designing the hardware and software for the robot, as well as testing and debugging the robot. This course may be useful since it will help you build a foundation in memory management, which is a critical part of robotics engineering.
Systems Analyst
Systems Analysts help organizations to improve their business processes by designing and implementing new or improved information systems. This course may be useful since it will help you build a foundation in memory management, which is a critical part of systems analysis.
Security Analyst
Security Analysts help organizations to protect their computer systems and networks from security threats. This course may be useful since it will help you build a foundation in memory management, which is a critical part of security analysis.
Software Architect
Software Architects design, build, and maintain the overall architecture of software applications. This can include designing the system's overall structure, as well as the interfaces and protocols used by the different components of the system. This course may be useful since it will help you build a foundation in memory management, which is a critical part of software architecture.
Systems Engineer
Systems Engineers design, build, and maintain computer systems and networks. This can include installing, configuring, and maintaining hardware and software, as well as troubleshooting and resolving problems. This course may be useful since it will help you build a foundation in memory management, which is a critical part of systems engineering.
Embedded Systems Engineer
Embedded Systems Engineers design, build, and maintain embedded systems. This can include designing the hardware and software for the system, as well as testing and debugging the system. This course may be useful since it will help you build a foundation in memory management, which is a critical part of embedded systems engineering.
Data Scientist
Data Scientists use data to solve business problems. This can include collecting, cleaning, and analyzing data, as well as developing and deploying machine learning models. This course may be useful since it will help you build a foundation in memory management, which is a critical part of data science.
Computer Software Engineer
Computer Software Engineers design, build, and maintain computer software. This can include designing the algorithms and data structures used by the software, as well as writing the code for the software.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Pointers and Memory Management in C/C++.
Classic introduction to the C++ programming language. It covers all aspects of the language, from basic syntax to advanced topics such as templates and concurrency.
Provides a comprehensive overview of pointers and memory management in both C and C++. It good resource for understanding the basics of these topics and how they are used in practice.
Provides a collection of recipes for solving common programming problems in C++. It includes recipes on pointers and memory management, as well as other topics such as concurrency and templates.
Provides a comprehensive tutorial and reference to the C++ Standard Library. It covers topics such as containers, algorithms, and iterators.
Fast-paced introduction to the C++ programming language. It covers all aspects of the language, from basic syntax to advanced topics such as templates and concurrency.
Provides a collection of 42 specific ways to improve your use of C++11 and C++14. It covers topics such as pointers and memory management, as well as other topics such as object-oriented programming and templates.
Provides a set of coding standards for C++. It covers topics such as naming conventions, coding style, and error handling.
Provides a practical guide to concurrency in C++. It covers topics such as threads, synchronization, and parallel algorithms.
Provides a comprehensive guide to C++ templates. It covers topics such as template syntax, template metaprogramming, and template libraries.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Introduction to Pointers and Memory Management in C/C++.
Working with Pointers and Arrays in C++ 20
Most relevant
C Programming: Pointers and Memory Management
Most relevant
Managing Data and Memory Allocation in C
Most relevant
Data Structures in C
Most relevant
C Programming: Pointers and Memory Management - 4
Most relevant
C Programming: Modular Programming and Memory Management
Most relevant
Project: Creating Your First C++ Application
Most relevant
Interacting with the System and Managing Memory
Most relevant
C Programming: Modular Programming and Memory Management ...
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser