मैं मज़ा में सी में एक ढेर बनाने की कोशिश कर रहा हूं, और ढेर का प्रतिनिधित्व करने के लिए संरचना का उपयोग करने के विचार के साथ आया हूं। फिर मैं पुश() और पॉप() संचालन के लिए संरचना में फ़ंक्शन पॉइंटर्स जोड़ता हूं।सी में "यह" सूचक (सी ++ नहीं)
अब तक यह सब अच्छा लगता है, लेकिन, पुश() और पॉप() फ़ंक्शंस के कार्यान्वयन के लिए मुझे इसे किसी भी तरह से संदर्भित करने की आवश्यकता है। वह कैसे कर सकता है (कर सकते हैं?)?
यह मेरा struct
struct Stack {
int *data;
int current_size;
int max_size;
int (*push)(int);
int (*pop)();
};
है और एक उदाहरण के रूप में यहाँ आप कल्पना कर सकते हैं धक्का
int push(int val) {
if(current_size == max_size -1)
return 0;
data[current_size] = val;
current_size++;
return 1;
}
है, संकलक पता नहीं क्या current_size
, के रूप में यह stack->current_size
की तरह कुछ उम्मीद होती है।
क्या किसी भी तरह से इसे दूर करना संभव है?
आपकी स्टैक संरचना में फ़ंक्शन पॉइंटर्स का क्या बिंदु है? – Nyan
इस प्रकार के ढेर को कॉल करने के लिए यह संभव है कि इसका उत्तर पाने का प्रयास करें: 'stack-> push (10);'। अब, अगर उत्तर यहां नहीं दिया गया है तो मुझे पूरा भरोसा हो सकता है कि यह वास्तव में असंभव है। – foo