08 Structure & Union
Arrays me sirf ek hi type ka data rakh sakte hain (e.g., all int).
Agar humein mix data rakhna ho (Name, Age, Salary), to Structure use karte hain.
1. Structure (struct) 🏗️
Ye user-defined data type hai.
struct Student { int id; char name[20]; float marks;};
int main() { struct Student s1; // Variable bana s1.id = 1; strcpy(s1.name, "Rohan"); s1.marks = 95.5;
printf("Name: %s, Marks: %.1f", s1.name, s1.marks); return 0;}2. Typedef (Short Name) 🏷️
struct Student baar-baar likhne se bachne ke liye typedef use karein.
typedef struct Student { int id; // ...} Student; // Ab bas 'Student' likh sakte hain
Student s1;3. Union (Memory Saver) 💾
Structure jaisa hi hai, par Memory Share karta hai. Structure me har member ki alag memory hoti hai (Total Size = Sum of members). Union me sabse bade member jitni hi memory milti hai, aur wo share hoti hai.
union Data { int i; float f;};
// Agar 'i' change karoge, to 'f' bhi corrupt ho jayega kyunki memory same hai!Use Case: Jab pata ho ki ek time par ek hi value use hogi.