2011-12-21 8 views
6

किसी को भी मुझे बता सकते हैं कि हम क्या वास्तव में कुछ उदाहरण के साथ सी में एक कॉलबैक फ़ंक्शन पंजीकरण से मतलब है? मैंने नेट में बहुत कुछ खोजा है, लेकिन मुझे संतोषजनक उत्तर नहीं मिल सका। यहां तक ​​कि स्टैक ओवरफ़्लो में भी खोज की गई लेकिन इसके बारे में सही विचार नहीं मिला।सी में कॉलबैक फ़ंक्शन पंजीकृत करके आपका क्या मतलब है?

क्या कॉलबैक और अतुल्यकालिक कॉल पीठ को सूचित कर रहे हैं?

+2

संभावित डुप्लिकेट [सी में "कॉलबैक" क्या है और वे कैसे कार्यान्वित किए जाते हैं?] (Http://stackoverflow.com/questions/142789/what-is-a-callback-in-c-and-how -एर-वे-लागू) – Hasturkun

+0

यह भी देखें, http://stackoverflow.com/a/147241/20270 – Hasturkun

+0

विकिपीडिया पृष्ठ सभ्य है http://en.wikipedia.org/wiki/Callback_%28computer_programming%29 – LB40

उत्तर

11

कॉलबैक फ़ंक्शन का पंजीयन का अर्थ है कि आप अपने कार्य को करने के बाहरी संस्था के लिए व्यवस्था कर रहे हैं।

यह बाद में हो सकता है, या यह सीधे हो सकता है। एक सीधा उदाहरण qsort है। यह इस तरह से घोषित किया जाता है:

void qsort(void *base, size_t nel, size_t width, 
     int (*compar)(const void *, const void *)); 

क्रम में इसका इस्तेमाल करने के लिए आपको एक समारोह है कि तत्वों तुलना करने के लिए एक सूचक गुजरना होगा - कॉलबैक।

यह एक साधारण उदाहरण था लेकिन आम तौर पर "कॉलबैक पंजीकृत करना" का मतलब किसी ऐसे व्यक्ति को फ़ंक्शन पॉइंटर पास करना है जो भविष्य में इसे आपके लिए कॉल करेगा।

संबंधित मुद्दे