C Programming: Advanced Data Types - 5 (Coursera)

C Programming: Advanced Data Types - 5 (Coursera)

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?

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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)

Course 5 of 7 in the C Programming with Linux Specialization.

What You Will Learn

  • Define new data types (structures) to store multiple data items in one variable and create, initialize and modify variables of these new types
  • Find and explain the memory usage of a structure and use pointers to structures
  • Create linked lists of structures with dynamic memory allocation at runtime
  • Sort or search lined lists of structures

Syllabus

WEEK 1
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
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
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

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

Related Courses

Java程序设计 (Coursera) Coursera
Peking University

Java程序设计 (Coursera)

《Java程序设计》课程是使用Java语言进行应用程序设计的课程,针对各专业的大学本科生开设。课程的主要目标有三: 一、掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯,会使用重构、设计模式、单元测试、日志、质量管理工具提高代码的质量。 对于学过“计算机基础、计算概论或C语言的学生”尤为适用。

Nov 16th 2026
5-12 Weeks
Programming for Data Science (Coursera) Coursera
University of Leeds

Programming for Data Science (Coursera)

Explore the basics of programming and familiarise yourself with the Python language. After completing this course, you will be able to write Python programs in Jupyter Notebook and describe basic programming. In this course, you will learn everything you need to start your programming journey. You will discover the different data types available in Python and how to use them, learn how to apply conditional and looping control structures, and write your own functions.

Nov 16th 2026
3 Weeks
Programming with Cloud IoT Platforms (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Programming with Cloud IoT Platforms (Coursera)

Internet of Things (IoT) is an emerging area of information and communications technology (ICT) involving many disciplines of computer science and engineering including sensors/actuators, communications networking, server platforms, data analytics and smart applications. IoT is considered to be an essential part of the 4th Industrial Revolution along with AI and Big Data.

Nov 16th 2026
5-12 Weeks
Videojuegos: ¿de qué hablamos? (Coursera) Coursera
Universitat Autònoma de Barcelona

Videojuegos: ¿de qué hablamos? (Coursera)

Probablemente, todos hemos jugado a algún videojuego, pero ¿qué hay detrás de él? Podemos decir que - con independencia del videojuego - hay un árduo trabajo multidisciplinar que incluye desde aspectos de diseño hasta la programación como tal del videojuego. Este curso pretende ser un curso introductorio que muestre qué aspectos hay que considerar en el videojuego, y que permita con posterioridad abordar individualmente los temas que se consideran nucleares: diseño, arte, motor del videojuego y 'game play'.

Nov 16th 2026
5-12 Weeks
Basic Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Basic Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Nov 9th 2026
4 Weeks
Working with Integrated Development Environments (Coursera) Coursera
University of Leeds

Working with Integrated Development Environments (Coursera)

Integrated Development Environments (IDEs) are vital in increasing developer productivity and learning to work with them will help you create impressive software projects whether you're a beginner or have some programming experience. This course provides the essential skills and knowledge to excel in software development using Integrated Development Environments (IDEs). You'll cover IDE fundamentals, including environment setup, interface navigation, and valuable features like debugging.

Nov 16th 2026
2 Weeks
Developing Android Apps with App Inventor (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Developing Android Apps with App Inventor (Coursera)

The course will give students hands-on experience in developing interesting Android applications. No previous experience in programming is needed, and the course is suitable for students with any level of computing experience. MIT App Inventor will be used in the course. It is a blocks-based programming tool that allows everyone, even novices, to start programming and build fully functional apps for Android devices. Students are encouraged to use their own Android devices for hands-on testing and exploitation.

Nov 16th 2026
5-12 Weeks