इसलिए मैं निम्न-स्तरीय भाषा में नया हूँ। और मैं सी के लिए कुछ सीखने की सामग्री के माध्यम से जा रहा था, और मैं वास्तव में निम्नलिखित अभिव्यक्तियों के बीच अंतर को अलग नहीं कर सका।

struct Node *temp;
struct Node *head;

//expression 1
temp->next = head;
//expression 2
temp = head;

क्या दो अभिव्यक्तियों का मतलब वही नहीं है जो अस्थायी नोड के सूचक को निर्देशित कर रहा है जहां हेड नोड का सूचक इंगित करता है?

0
TechSelfLearner 20 अप्रैल 2020, 04:26
मान लें कि next Node संरचना का सदस्य है और struct Node * प्रकार है, तो आपके पास दो अलग-अलग पॉइंटर्स हैं। वे एक ही स्थान, या विभिन्न स्थानों की ओर इशारा कर सकते हैं। यह दो अलग-अलग चर की तरह है। यदि आपके पास उदा। struct Node *temp1, *temp2; और फिर temp1 = head; temp2 = head; क्या आप अभी भी असाइनमेंट के बीच अंतर के बारे में पूछेंगे?
 – 
Some programmer dude
20 अप्रैल 2020, 04:31

2 जवाब

सबसे बढ़िया उत्तर

temp एक सूचक है। संभवतः, आपके "अभिव्यक्ति 1" से पहले, यह कुछ नोड x को इंगित करने के लिए सेट किया गया है। फिर temp->next = head;, x के next सदस्य को head पर सेट करता है। यह x (x में next सदस्य) को बदल देता है। यह temp नहीं बदलता है।

इसके विपरीत, temp = head;, temp को head पर सेट करता है। यह temp बदलता है।

1
Eric Postpischil 20 अप्रैल 2020, 04:30
हाँ, मुझे लगता है कि अब मैं अंतर को स्पष्ट रूप से स्पष्ट कर सकता हूँ। temp=head वास्तव में temp का पता बदल देता है जबकि temp->next = head का अर्थ है temp को उस स्थान से जोड़ना जहां head इंगित करता है और उसका अपना पता नहीं बदलता है।
 – 
LearnerSamuelX
20 अप्रैल 2020, 05:13
क्षमा करें, काश मैं समस्या की अधिक स्पष्ट परिभाषा दे पाता।
 – 
LearnerSamuelX
20 अप्रैल 2020, 05:16

जैसा कि आपने वहां घोषित किया है, temp और head पॉइंटर्स हैं, और पहली अभिव्यक्ति में temp पॉइंटर का next मान head की ओर इशारा करता है। जबकि दूसरी अभिव्यक्ति में आप temp=head बना रहे हैं

...इसका मतलब यह नहीं है कि temp head की ओर इशारा करता है, बल्कि temp अब head है...

आशा है कि आप इसे प्राप्त करेंगे। :)

1
Nirro 20 अप्रैल 2020, 08:32
धन्यवाद। लेकिन क्षमा करें दोस्तों मैंने पहले ही एक प्रतिक्रिया के लिए एक चेक मार्क पर क्लिक कर दिया है। मैं आप लोगों को वोट जरूर दूंगा। जैसा कि आपने देखा, जिस क्षण मैं यह प्रश्न पूछ रहा था, मेरे दिमाग में पॉइंटर और नोड के बारे में एक बड़ी गड़बड़ी थी। अब यह बहुत अधिक स्पष्ट है।
 – 
LearnerSamuelX
20 अप्रैल 2020, 18:58