ANSI C——¿É±ä²ÎÊý
¡¾ÔÐÍ¡¿
type fun( type arg1, type arg2, ...
);
¡¾ÃèÊö¡¿
Ö÷ÒªÓÃÔÚ²ÎÊý¸öÊý²»È·¶¨µÄº¯ÊýÖУ¬ÀýÈ磺printfº¯Êý¡£
¡¾Ê¹Ó÷½·¨¡¿
²Î¿¼£ºglib/manual/Add.c
#include <stdarg.h>
#include <stdio.h>
int add_em_up (int count,...)
{
va_list ap;
int i, sum;
va_start (ap, count); /* Initialize the argument list. */
sum = 0;
for (i = 0; i < count; i++)
sum += va_arg (ap, int); /* Get the next argument value. */
va_end (ap); /* Clean up. */
return sum;
}
int main (void)
{
/* This call prints 16. */
printf ("%d\n", add_em_up (3, 5, 5, 6));
/* This call prints 55. */
printf ("%d\n", add_em_up (10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
return 0;
}
ÔËÐнá¹û£º
16
55
¡¾ÊµÏÖ·ÖÎö¡¿
Èç¹ûҪʵÏֿɱä²ÎÊý£¬¹Ø¼üÊÇÎÒÃÇÔõÑù±éÀúº¯ÊýÁбí
£¬Õâ¾ÍÇ£³¶µ½º¯ÊýµÄ²ÎÊýÁ´±íÔÚÕ»ÖеĴæ·Å˳ÐòÎÊÌ⣺
º¯ÊýÈëÕ»µÄ¹ý³Ì´óÖÂÈçÏ£º (¸üÏêϸµÄÄÚÈݲο¼ÕâÀï
)
º¯ÊýµÄ¾Ö²¿±äÁ¿ÈëÕ»£»
ÆäËû±»µ÷º¯ÊýÐÅÏ¢Ö¸ÕëÈëÕ»£»
º¯Êý·µ»ØµØÖ·ÈëÕ»£»
²ÎÊýÁбíÈëÕ»£¬Ë³Ðò´ÓÓÒµ½×ó£»
´ËʱÎÒÃÇ¿ÉÒÔÃ÷È·²ÎÊýÁбíµÄ´æ·Å˳Ðò£¬ÈçÏ£º
ËùÒÔÎÒÃDZØÐëÒªÖªµÀÕ»¶¥²ÎÊýµØÖ·£¬¼´º¯ÊýµÄµÚÒ»¸ö²ÎÊý£»
Ö÷ÒªÒÀ¿¿¶¨ÒåÔÚstdarg.hÖÐÈý¸öºê£º
void va_start( va_list arg_ptr, prev_param ); /*¸ø³öµÚÒ»¸ö²ÎÊýµÄµØÖ·*/
type va_arg( va_list arg_ptr, type ); /*´ÓµÚ¶þ¸ö²ÎÊý¿ªÊ¼È¡£¬Ã¿´Î·µ»ØÒ»¸ö*/
void va_end( va_list arg_ptr ); /*±ê¼
Ïà¹ØÎĵµ£º
1¡¢ ¾³£¿´¼ûreturn EXIT_SUCCESS»òreturn EXIT_FAILURE£¬µ«¶¼²»ÖªÕâÁ½¸öÀ´×Ժ䦣¬ÏÖÔÚ²ÅÖªÔÀ´stdlib.h¶¨ÒåÁËEXIT_SUCCESSºÍEXIT_FAILURE·ûºÅ¡£
ÔÚstdlib.hÍ·ÎļþÀ
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
& ......
1¡¢¾Ö²¿±äÁ¿ÄÜ·ñºÍÈ«¾Ö±äÁ¿ÖØÃû£¿ ¡¡
¡¡´ð£ºÄÜ£¬¾Ö²¿»áÆÁ±ÎÈ«¾Ö¡£ÒªÓÃÈ«¾Ö±äÁ¿£¬ÐèҪʹÓÃ"::" ;¾Ö²¿±äÁ¿¿ÉÒÔÓëÈ«¾Ö±äÁ¿Í¬Ãû£¬ÔÚº¯ÊýÄÚÒýÓÃÕâ¸ö±äÁ¿Ê±£¬»áÓõ½Í¬ÃûµÄ¾Ö²¿±äÁ¿£¬¶ø²»»áÓõ½È«¾Ö±äÁ¿¡£¶ÔÓÚÓÐЩ±àÒëÆ÷¶øÑÔ£¬ÔÚͬһ¸öº¯ÊýÄÚ¿ÉÒÔ¶¨Òå¶à¸öͬÃûµÄ¾Ö²¿±äÁ¿£¬±ÈÈçÔÚÁ½¸öÑ»·ÌåÄÚ¶¼¶¨ÒåÒ»¸öͬÃûµÄ¾Ö²¿±äÁ¿£¬¶øÄÇ ......
´òÓ¡×Ô¼ºµÄÒ»¶ÎƯÁÁC³ÌÐò
#include <stdio.h>
int main()
{
char *p ="#include <stdio.h>%c int main(){char *p=%c%s%c; printf(p, 10, 34, p, 34);}";
printf(p, 10, 34, p, 34);
} ......
In C programming language, the observer design pattern is implemented with function pointer (aka callback function). But in Qt library, it introduces signal and slot. How to link a callback function from the C callback function to the C++ siganl and slot is a problem I encounter. Call back function ......
¿¼²éÒ»¸ö³õ¼¶Ç¶Èëʽϵͳ¿ª·¢ÈËÔ±µÄC»ù±¾¹¦£¬¸½Óдð°¸ÌâÄ¿ÓÉ×ÊÉîǶÈëʽϵͳר¼ÒÄⶨ,Ä¿µÄÊÇ¿¼²éÈëÃż¶µÄǶÈëʽÈí¼þ¿ª·¢ÈËÔ± Gavin ShawÌṩÏêϸ½â´ð
±àÕß°´:·Ç³£»ù±¾¹ØÓÚCÓïÑÔµÄÎÊÌâ,Ò»¸öÐÅÏ¢Àà(¼ÆËã»ú,×ÊѶ¹¤³Ì,µç×Ó¹¤³Ì, ͨÐŹ¤³Ì)רҵµÄ±¾¿Æ±ÏÒµÉúÓ¦¸Ã´ïµ½µÄˮƽ¡£ÌâÄ¿²»ÄÑ,È«²¿¶¼ÄÜ¿ìËٵشðÍ꣬µ±È»Ò²ÐèÒªÒ»¶¨µ ......