Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C/C++ में फंक्शन का एड्रेस


C/C++ में फंक्शन्स भी मेमोरी में संग्रहीत होते हैं और उनका एड्रेस लिया जा सकता है। फंक्शन नाम (बिना पैरेंथेसिस) उसका एड्रेस देता है।

उदाहरण

#include <stdio.h>

void my_function() {
    printf("Hello World\n");
}

int main() {
    // फंक्शन एड्रेस प्रिंट करें
    printf("Address of my_function: %p\n", (void*)my_function);
    printf("Address of main: %p\n", (void*)main);
    
    // फंक्शन पॉइंटर के माध्यम से कॉल
    void (*func_ptr)() = my_function;
    func_ptr();  // Hello World
    
    return 0;
}

आउटपुट

Address of my_function: 0x55a1b2c3d4e0
Address of main: 0x55a1b2c3d500

फंक्शन पॉइंटर्स

// घोषणा
void (*ptr)();           // कोई आर्गुमेंट नहीं, void रिटर्न
int (*cmp)(int, int);    // दो int लेता है, int रिटर्न

// असाइनमेंट
ptr = my_function;
cmp = my_comparison;

// कॉल
ptr();
int result = cmp(10, 20);

उपयोग के मामले

  • कॉलबैक फंक्शन्स
  • डिस्पैच टेबल्स / वर्चुअल फंक्शन टेबल्स
  • प्लगइन आर्किटेक्चर
  • सॉर्टिंग कम्पेरेटर्स (qsort, bsearch)
  • स्टेट मशीन्स

महत्वपूर्ण नोट्स

  • &my_function और my_function समान हैं (फंक्शन-टू-पॉइंटर डिके)।
  • %p के साथ (void*) कास्ट करें।
  • फंक्शन पॉइंटर्स के बीच तुलना (==, !=) वैध है।
  • मेंबर फंक्शन पॉइंटर्स (C++) अलग सिंटैक्स और अधिक जटिल हैं।
  1. - C/C++ में फंक्शन्स (3.5)

    फंक्शन्स एक मशीन की तरह होते हैं क्योंकि वे कुछ कार्यक्षमता करते हैं और किसी प्रकार का परिणाम उत्पन्न करते हैं। जैसे, मशीन कुछ इनपुट लेती है, उस इनपुट को प्रोसेस करती है और एक आउटपुट उत्पन्न करती है, इसी तरह फंक्शन कुछ वैल्यू लेता है, उन वैल्यू पर ऑपरेट करता है और आउटपुट उत्पन्न करता है। मैन्युअल रू

  1. - C/C++ में putwchar() फंक्शन

    इस लेख में हम C++ STL में putwchar() फंक्शन के कार्य, सिंटैक्स और उदाहरणों पर चर्चा करेंगे। putwchar() क्या है? putwchar() फंक्शन C++ STL में एक इनबिल्ट फंक्शन है, जो हेडर फाइल में परिभाषित है। putwchar() फंक्शन का उपयोग स्टैंडर्ड आउटपुट डिवाइस पर वाइड कैरेक्टर लिखने के लिए किया जाता है। यह फंक्शन

  1. C/C++ में System() फंक्शन C/C++ में System() फंक्शन

    दिया गया कार्य C/C++ में system() के कार्य को दिखाना है। system() फंक्शन C/C++ स्टैंडर्ड लाइब्रेरी का एक हिस्सा है। इसका उपयोग उन कमांड्स को पास करने के लिए किया जाता है जिन्हें ऑपरेटिंग सिस्टम के कमांड प्रोसेसर या टर्मिनल में निष्पादित किया जा सकता है, और अंत में कमांड के पूरा होने के बाद लौटाता है