मैं वर्तमान में सी में struct
डेटा संरचना के बारे में सीख रहा हूं और इस संरचना को typedef
कीवर्ड के साथ कैसे पेश करना संभव है। यह वास्तविक संरचना के चर नाम अलग नामस्थान में रखा जा रहा के रूप में कई अलग अलग संदर्भों में विस्तार से बताया कारण बनता है:टाइप किए गए टाइप किए गए कीवर्ड
Difference between 'struct' and 'typedef struct' in C++?
typedef struct vs struct definitions
हालांकि, यह स्पष्ट नहीं है के रूप में क्या उदाहरण के साथ हो रहा है कि मैं के साथ काम कर रहा हूँ:
#include <stdio.h>
struct demo
{
short low_pass_vcf;
short filter_coupler;
short reverb;
short sequential;
} synth;
int main()
{
printf("Size of struct: %i\n", sizeof(struct demo));
printf("Size of struct: %i\n", sizeof(synth));
return 0;
}
इस उदाहरण में, मैं synth
चर के माध्यम से struct
डेटा संरचना का उपयोग करने में सक्षम हूँ नाम; हालांकि, मैंने जो उदाहरण देखा है, उनमें से struct
को typedef
के साथ प्रीफ़ेस करने की आवश्यकता है। इस उदाहरण में, typedef
का उपयोग नहीं किया गया है और फिर भी मैं इस संरचना को synth
के माध्यम से संदर्भित करने में सक्षम हूं। मैं सोच रहा हूं कि वास्तव में क्या हो रहा है कि सी मुझे ऐसा करने की इजाजत दे रहा है? किसी भी स्पष्टीकरण की सराहना की जाएगी। चीयर्स।
// declare struct demo
struct demo
{
short low_pass_vcf;
short filter_coupler;
short reverb;
short sequential;
};
// define struct variable synth
struct demo synth;
अब आप struct सदस्यों, उदाहरण के उपयोग कर सकते हैं:
आप परिचित हैं:
आप इस प्रकार के रूप में अच्छी गैर structs के लिए typedef कीवर्ड का उपयोग कर सकते हैं: निम्न उदाहरण है 'typedef' क्या करता है? – ameyCU
'sizeof' प्रकार' size_t' का परिणाम उत्पन्न करता है। 'Size_t' मान के लिए सही प्रारूप स्ट्रिंग'% zu' है, न कि '% i' (जो' int' के लिए है)। –
'size_t' जानकारी के लिए धन्यवाद। जो मैं समझता हूं, उससे 'टाइपिफ़' क्या होता है यह एक अलग नामस्थान में एक चर बनाता है जो संरचना को 'संरचना डेमो' का उपयोग किए बिना संदर्भित करने की अनुमति देता है। सुनिश्चित नहीं है कि दृश्यों के पीछे कुछ और हो रहा है या नहीं। –