In languages like Java or Python, you use Classes to bundle data together. C doesn't have Classes. It has something rawer: Structs.
A struct (Structure) is how we create custom data types.
Without structs, if I wanted to store a student's data, I'd have to manage separate variables:
char *name1int age1float gpa1
With structs, I can group them into a single Student type. This is the ancestor of the "Object" in Object-Oriented Programming.
The Code
Here is how we define and use a custom data type in C.
// Day 6: Grouping chaos into order
#include <stdio.h>
#include <string.h>
// Before: Messy variables scattered everywhere
// char *name1 = "Alice"; int age1 = 20;
// After: A custom Data Type
// We define a blueprint called "Student"
typedef struct {
char name[50];
int age;
float gpa;
} Student;
int main() {
// Now we treat the data as a single "Object"
// We can initialize it just like an array
Student s1 = {"Alice", 20, 3.8};
// We access fields using the dot operator (.)
printf("Name: %s\n", s1.name);
printf("GPA: %.2f\n", s1.gpa);
return 0;
}
π View the source code on GitHub:https://github.com/Ujjawal0711/30-Days
Top comments (1)
This barely scratches the surface of how to use
structs. Really, it shows nothing except the syntax .