Organize complex data with structures and unions!
- Defining structures
- Nested structures
- Arrays of structures
- Pointers to structures
- Unions and bit fields
- typedef and enum
#include <stdio.h>
#include <string.h>
struct Student {
char name[50];
int age;
float gpa;
};
int main() {
struct Student s1;
strcpy(s1.name, "Alice");
s1.age = 20;
s1.gpa = 3.8;
printf("Name: %s, Age: %d, GPA: %.2f\n", s1.name, s1.age, s1.gpa);
return 0;
}typedef struct {
int x;
int y;
} Point;
Point p1 = {10, 20};union Data {
int i;
float f;
char str[20];
};
union Data data;
data.i = 10;
printf("%d\n", data.i);
data.f = 220.5;
printf("%.2f\n", data.f);Each source file has a companion markdown file with detailed explanations:
| File | Description |
|---|---|
advanced_structures.c 📄 |
Advanced Structures demonstration |
bitfields_and_unions.c 📄 |
Bitfields And Unions demonstration |
structures_demo.c 📄 |
Structures Demo demonstration |
unions_demo.c 📄 |
Unions Demo demonstration |
- 📄 = Detailed explanation available
- 🐛 = Contains deliberate bugs for learning