# स्ट्रक्चर्स — C प्रोग्रामिंग

Source: https://www.geekswithgeeks.com/hi/c/c-structs

> अलग-अलग टाइप के संबंधित मानों को एक नाम के तहत समूहित करें।

## एक कस्टम, समग्र टाइप

`struct` कई फ़ील्ड्स — शायद अलग-अलग टाइप के — को एक इकाई में बाँधता है, ऐरे के विपरीत जो समान-टाइप मान रखता है।

## परिभाषित, बनाएँ, एक्सेस करें

फ़ील्ड्स को डॉट ऑपरेटर `.` से एक्सेस किया जाता है।

```c
struct Point {
    int x;
    int y;
};

int main(void) {
    struct Point p1 = {3, 4};
    printf("(%d, %d)\n", p1.x, p1.y);
    p1.x = 10;
    return 0;
}
```

Output:

```
(3, 4)
```

## स्ट्रक्चर nest हो सकते हैं

स्ट्रक्चर का कोई फ़ील्ड खुद एक और स्ट्रक्चर हो सकता है — एक्सेस चेन में कई डॉट होते हैं।

```c
struct Address { char city[20]; };
struct Person {
    char name[20];
    struct Address addr;
};

struct Person p = {"Riya", {"Pune"}};
printf("%s lives in %s\n", p.name, p.addr.city);
```

Output:

```
Riya lives in Pune
```
