संभव डुप्लिकेट:
What are C macros useful for?सी में मैक्रोज़ का उपयोग क्यों करें?
हर कुछ महीने मैं सी के कुछ सा है कि मेरे बकवास कॉलेज प्रोग्रामिंग शिक्षा कवर कभी नहीं सीखना जाने के लिए एक खुजली मिलता है। आज यह मैक्रोज़ है। मैक्रोज़ की मेरी मूल समझ यह है कि वे एक साधारण खोज हैं और इसे संकलित करने के लिए आपके कोड पूर्व पर प्रतिस्थापित होते हैं। मुझे समझने में परेशानी हो रही है क्यों आप मैक्रोज़ का उपयोग करेंगे। बुनियादी उदाहरण मैं देख रहा हूँ के अधिकांश देखने की मेरी नौसिखिया बिंदु से (here से उदाहरण)
TEST(a,%d);
#define TEST(a,b) printf(" The value of " #a " = " #b " \n", a)
//which expands to
printf(" The value of a = %d \n",a);
की तरह कुछ
हैं, यह एक नया कार्य निर्धारित करते समय आपको एक ही परिणाम देना होगा की तरह लगता है। मैं देख सकता हूं कि ऐतिहासिक खोज मैक्रोज़ आसानी से खोज और प्रतिस्थापन से पहले के दिनों में बहुत से स्रोत को संशोधित करने के लिए उपयोगी कैसे होंगे, लेकिन कुछ मुझे बताता है कि मुझे कुछ बड़ा बिंदु याद आ रहा है।
तो मैक्रोज़ आपके लिए कौन सी उपयोगी चीजें कर सकता है?
यह संकेत का स्तर है। – harpo
मैक्रोज़ का उपयोग करने का तरीका जिस तरह से आप सुझाव देते हैं (कोड को वास्तव में बदलने के बजाए मौजूदा टोकन को फिर से परिभाषित करके मौजूदा स्रोत कोड को संशोधित करना) वास्तव में एक बुरा विचार है, जब तक कि आप # परिभाषित स्थिरांक के मानों को बदलने के बारे में बात नहीं कर रहे हैं। –
http://stackoverflow.com/questions/653839/what-are-c-macros-useful- कई अन्य लोगों के लिए डुप्पी। –