वाम-पंथी पहचानकर्ता के साथ आरंभ और अपने तरीके से बाहर काम करते हैं, याद है कि []
और ()
बाँध *
पहले, इसलिए *a[]
संकेत की एक सरणी है, (*a)[]
, एक सरणी के लिए सूचक है *f()
एक सूचक वाला फ़ंक्शन है, और (*f)()
एक समारोह के लिए सूचक है:
signal -- signal
signal( ) -- is a function
signal( sig, ) -- with a parameter named sig
signal(int sig, ) -- of type int
signal(int sig, func ) -- and a parameter named func
signal(int sig, (*func) ) -- which is a pointer
signal(int sig, (*func)( )) -- to a function
signal(int sig, (*func)(int)) -- taking an int parameter
signal(int sig, void (*func)(int)) -- and returning void
*signal(int sig, void (*func)(int)) -- returning a pointer
(*signal(int sig, void (*func)(int)))( ) -- to a function
(*signal(int sig, void (*func)(int)))(int) -- taking an int parameter
void (*signal(int sig, void (*func)(int)))(int); -- and returning void
signal
सहयोगियों एक संकेत sig
के साथ एक संकेत हैंडलर समारोह func
, और पुराने संकेत हैंडलर कार्य करने के लिए सूचक रिटर्न:
void new_interrupt_handler(int sig)
{
... // do something interesting with interrupt signal
}
int main(void)
{
void (*old_interrupt_handler)(int);
...
/**
* Set up our new interrupt handler
*/
old_interrupt_handler = signal(SIGINT, new_interrupt_handler);
...
/**
* Restore original interrupt handler
*/
signal(SIGINT, old_interrupt_handler);
...
}
स्रोत
2012-02-29 14:38:49
लेकिन यह मैं कहाँ http://www.joyofprogramming.com/Docs_ColumnArticles/36-JoP-Dec-09.pdf से –
'typedef int foo (शून्य)' भ्रमित हो गया है: foo कार्य करने के लिए एक सूचक है , लेकिन आप इसे शॉर्टकट कर सकते हैं और कह सकते हैं कि यह एक फ़ंक्शन है, क्योंकि आप 'foo x कर सकते हैं; एक्स(); ' – Benoit
@ बेनोइट क्या आप इसे अपने उत्तर के रूप में जोड़ सकते हैं? –