स्ट्रक्चर
स्ट्रक्चर एक यूज़र-डिफाइंड डेटाटाइप है। इसका उपयोग विभिन्न प्रकार के डेटा को एक ही प्रकार में संयोजित करने के लिए किया जाता है। इसमें कई मेंबर्स और स्ट्रक्चर वेरिएबल्स हो सकते हैं। "struct" कीवर्ड का उपयोग C भाषा में स्ट्रक्चर को परिभाषित करने के लिए किया जाता है। स्ट्रक्चर मेंबर्स को डॉट (.) ऑपरेटर का उपयोग करके एक्सेस किया जा सकता है।
C में सिंटैक्स
struct structure_name {
member definition;
} structure_variables;
पैरामीटर्स:
- structure_name - स्ट्रक्चर को दिया गया कोई भी नाम।
- member definition - मेंबर वेरिएबल्स का सेट।
- structure_variable - यह स्ट्रक्चर का ऑब्जेक्ट है।
उदाहरण
#include <stdio.h>
#include <string.h>
struct Data {
int i;
long int f;
} data, data1;
int main() {
data.i = 28;
printf("i का मान: %d\n", (data.i));
printf("data द्वारा घेरी गई मेमोरी साइज: %d\t%d", sizeof(data), sizeof(data1));
return 0;
}
आउटपुट
i का मान: 28 data द्वारा घेरी गई मेमोरी साइज: 16 16
यूनियन
यूनियन भी एक यूज़र-डिफाइंड डेटाटाइप है। यूनियन के सभी मेंबर्स एक ही मेमोरी लोकेशन शेयर करते हैं। यूनियन का आकार यूनियन के सबसे बड़े मेंबर के आकार से तय होता है। यदि आप दो या अधिक मेंबर्स के लिए एक ही मेमोरी लोकेशन का उपयोग करना चाहते हैं, तो यूनियन उसके लिए सबसे अच्छा है।
यूनियन स्ट्रक्चर के समान हैं। यूनियन वेरिएबल्स उसी तरीके से बनाए जाते हैं जैसे स्ट्रक्चर वेरिएबल्स। "union" कीवर्ड का उपयोग C भाषा में यूनियन को परिभाषित करने के लिए किया जाता है।
C में सिंटैक्स
union union_name {
member definition;
} union_variables;
पैरामीटर्स:
- union_name - यूनियन को दिया गया कोई भी नाम।
- member definition - मेंबर वेरिएबल्स का सेट।
- union_variable - यह यूनियन का ऑब्जेक्ट है।
उदाहरण
#include <stdio.h>
#include <string.h>
union Data {
int i;
float f;
} data, data1;
int main() {
printf("data द्वारा घेरी गई मेमोरी साइज: %d\t%d", sizeof(data), sizeof(data1));
return 0;
}
आउटपुट
data द्वारा घेरी गई मेमोरी साइज: 4 4