Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Dartmouth College

C Programming: Advanced Data Types - 5

Dartmouth College and Institut Mines-Télécom via Coursera


Unlock Unlimited Opportunities: Get 50% Off Your First Month of Coursera Plus
In this course you will define your own data types in C, and use the newly created types to more efficiently store and process your data. Many programming languages provide a number of built-in data types to store things such as integers, decimals, and characters in variables, but what if you wanted to store more complex data? Defining your own data types in C allows you to more efficiently store and process data such as a customer's name, age and other relevant data, all in one single variable! You will also gain experience with programming concepts that are foundational to any programming language. 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. At the end of this short course, you will reach the fifth milestone of 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.


  • Welcome
  • Week 1: Structures
    • By the end of Week 1, you will be able to create, initialize, and modify variable of new data type structures, as well as understand how much memory is used for these variables. You will also learn to define, initialize, and modify arrays of structures and then pass these structures to functions by value.
  • Week 2: Structures and pointers
    • By the end of Week 2, you will be able to create/dereference pointers to structures, pass structures to functions (where they can be modified), and dynamically allocate memory to store a variable of data type structure. You will also be able to explain the difference between the direct and the indirect member selection operators.
  • Week 3: Linked lists
    • By the end of Week 3,you will be able to create and initialize a linked list of structures, as well as perform basic operations on them: swapping elements, sorting through by alphabet or numerically, and searching through a linked list for a particular member.
  • Concluding the course

Taught by

Rémi Sharrock and Petra Bonfert-Taylor


4.4 rating at Coursera based on 50 ratings

Start your review of C Programming: Advanced Data Types - 5

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.