मैं सी सीखने की कोशिश कर रहा हूं और पहले से ही बहुत उलझन में हूं।विशेष सी फ़ंक्शन कैसे काम करता है?
ओओपी भाषाओं में मैंने उपयोग किया है विधि विधि अधिभार करने की क्षमता मौजूद है, जहां एक ही फ़ंक्शन में विभिन्न पैरामीटर प्रकार हो सकते हैं और जो भी सबसे उपयुक्त था उसे कॉल कर सकते हैं।
अब सी में मुझे पता है कि यह मामला नहीं है इसलिए मैं निम्नलिखित समस्या को समझ नहीं सकता, printf() कैसे काम करता है।
उदाहरण के लिए:
char chVar = 'A';
int intVar = 123;
float flVar = 99.999;
printf("%c - %i - %f \n",chVar, intVar, flVar);
printf("%i - %f - %c \n",intVar, flVar, chVar);
printf("%f - %c - %i \n",flVar, chVar, intVar);
अब के रूप में सी does'nt समर्थन समारोह से अधिक भार, कैसे printf किसी भी प्रकार की, तर्क के किसी भी संख्या में लेने के लिए प्रबंधन करता है, और उसके बाद उन लोगों के साथ सही ढंग से काम?
मैंने glibc स्रोत पैकेज डाउनलोड करके printf() को काम करने का प्रयास किया है, लेकिन मुझे लगता है कि मैं इसे देख रहा हूं, हालांकि मुझे लगता है।
क्या कोई यहां समझा सकता है कि सी उपर्युक्त कार्य कैसे करता है?
यदि आप और जानना चाहते हैं, तो कॉलिंग सम्मेलनों और स्टैक –
पर पढ़ना आपका प्रश्न सी के बारे में है, लेकिन आप कहते हैं "मैं सी ++ सीखने की कोशिश कर रहा हूं।" यदि आप सी ++ सीखने की कोशिश कर रहे हैं, तो भाषा के सी हिस्सों से बचने के लिए शुरू करना सबसे अच्छा है (और सी ++ एपॉर्ड्स के अमूर्तता के उच्च स्तर पर बने रहें), फिर एक बार जब आप इसके साथ सहज हों, तो भाषा के अन्य हिस्सों में खोदने के लिए । –
यदि आप इसके बारे में चिंता नहीं करना चाहते हैं तो g ++ के लिए तर्क के रूप में '-फॉर्मैट' को पास करें। अन्य कंपाइलर्स, मुझे लगता है/उम्मीद/उम्मीद है, समान चेतावनियां होनी चाहिए। यह संकलक को जांचने का कारण बनता है कि प्रकार मेल खाते हैं। –