C¿É±ä²ÎÊýº¯Êý ʵÏÖ
Cº¯ÊýÒªÔÚ³ÌÐòÖÐÓõ½ÒÔÏÂÕâЩºê:
void va_start( va_list arg_ptr, prev_param );
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
va_list:ÓÃÀ´±£´æºêva_start¡¢va_argºÍva_endËùÐèÐÅÏ¢µÄÒ»ÖÖÀàÐÍ¡£ÎªÁË·ÃÎʱ䳤²ÎÊýÁбíÖеIJÎÊý£¬±ØÐëÉùÃ÷
va_listÀàÐ͵ÄÒ»¸ö¶ÔÏó ¶¨Ò壺 typedef char * va_list;
va_start:·ÃÎʱ䳤²ÎÊýÁбíÖеIJÎÊý֮ǰʹÓõĺ꣬Ëü³õʼ»¯ÓÃva_listÉùÃ÷µÄ¶ÔÏ󣬳õʼ»¯½á¹û¹©ºêva_argºÍ
va_endʹÓã»
va_arg: Õ¹¿ª³ÉÒ»¸ö±í´ïʽµÄºê£¬¸Ã±í´ïʽ¾ßÓб䳤²ÎÊýÁбíÖÐÏÂÒ»¸ö²ÎÊýµÄÖµºÍÀàÐÍ¡£Ã¿´Îµ÷ÓÃva_arg¶¼»áÐÞ¸Ä
ÓÃva_listÉùÃ÷µÄ¶ÔÏ󣬴ӶøÊ¹¸Ã¶ÔÏóÖ¸Ïò²ÎÊýÁбíÖеÄÏÂÒ»¸ö²ÎÊý£»
va_end:¸Ãºêʹ³ÌÐòÄܹ»´Ó±ä³¤²ÎÊýÁбíÓúêva_startÒýÓõĺ¯ÊýÖÐÕý³£·µ»Ø¡£
vaÔÚÕâÀïÊÇvariable-argument(¿É±ä²ÎÊý)µÄÒâ˼.
ÕâЩºê¶¨ÒåÔÚstdarg.hÖÐ,ËùÒÔÓõ½¿É±ä²ÎÊýµÄ³ÌÐòÓ¦¸Ã°üº¬Õâ¸öÍ·Îļþ.ÏÂÃæÎÒÃÇдһ¸ö¼òµ¥µÄ¿É±ä²ÎÊýµÄº¯Êý,¸Äº¯ÊýÖÁÉÙÓÐÒ»¸öÕûÊý²ÎÊý,µÚ¶þ¸ö²ÎÊýÒ²ÊÇÕûÊý,ÊÇ¿ÉÑ¡µÄ.º¯ÊýÖ»ÊÇ´òÓ¡ÕâÁ½¸ö²ÎÊýµÄÖµ.
#include <stdio.h>;
#include <string.h>;
#include <stdarg.h>;
/* ANSI±ê×¼ÐÎʽµÄÉùÃ÷·½Ê½£¬À¨ºÅÄÚµÄÊ¡ÂԺűíʾ¿ÉÑ¡²ÎÊý */
int demo(char *msg, ... )
{
va_list argp; /* ¶¨Òå±£´æº¯Êý²ÎÊýµÄ½á¹¹ */
int argno = 0; /* ¼Í¼²ÎÊý¸öÊý */
char *para; /* ´æ·ÅÈ¡³öµÄ×Ö·û´®²ÎÊý */
/* argpÖ¸Ïò´«ÈëµÄµÚÒ»¸ö¿ÉÑ¡²ÎÊý£¬ msgÊÇ×îºóÒ»¸öÈ·¶¨µÄ²ÎÊý */
va_start( argp, msg );
while (1)
{
para = va_arg( argp, char *); /* È¡³öµ±Ç°µÄ²ÎÊý£¬ÀàÐÍΪchar *. */
if ( strcmp( para, "\0") == 0 )
/* ²ÉÓÿմ®Ö¸Ê¾²ÎÊýÊäÈë½áÊø */
break;
printf("Parameter #%d is: %s\n", argno, para);
argno++;
}
va_end( argp ); /* ½
Ïà¹ØÎĵµ£º
C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1. initgraphº¯Êý
initgraphº¯ÊýÊdzõʼ»¯Í¼ÐÎϵͳ£¬ÆäÓ÷¨Îª£ºvoid far initgraph(int far *graphdriver, int far *graphmode,char far *pathtodriver); ³ÌÐòÀý×ÓÈçÏ£ ......
ǰÑÔ
Eclipse×÷Ϊһ¿î¼«ÆäÓÅÐãµÄJava IDE£¬ÒѾµÃµ½¹ã·ºµÄÈϿɡ£µ±È»Eclipse²¢²»ÏÞÓÚJava¿ª·¢£¬ÓÉÓÚÆäÓÅÐãµÄ»ù´¡¼Ü¹¹£¬EclipseÒѾ³ÉΪһ¸ö¿ÉÒÔÈÝÄÉÒ»ÇÐÓ뿪·¢ÓйصŤ¾ßµÄƽ̨¡£
µ±È»ÈÝÄÉÒ»Çв¢²»Òâζ×ÅÊʺÏÓÚÒ»ÇС£ÏñC/C++ÕâÑùÔç¾Í´æÔڵIJ¢¹ã·ºÓ¦ÓõÄÓïÑÔ£¬Ôç¾ÍÓÐÒ»´óÅú¿ÉÓõÄIDE£¬Ò²ÓкܶàÈËϲ»¶ÓÃvi/emacs×÷Ϊ×Ô¼ºµÄ¿ ......
C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1. mallocº¯Êý
mallocº¯ÊýµÄ¹¦ÄÜÊÇÄÚ´æ·ÖÅ亯Êý£¬ÆäÓ÷¨Îª£ºvoid *malloc(unsigned size);³ÌÐòʵÀýÈçÏ£º
#include <stdio.h>
#i ......
C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1. parsfnmº¯Êý
parsfnmº¯ÊýµÄ¹¦ÄÜÊÇ·ÖÎöÎļþÃû£¬ÆäÓ÷¨Îª£ºchar *parsfnm (char *cmdline, struct fcb *fcbptr, ......
C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1. qsortº¯Êý
qsortº¯ÊýµÄ¹¦ÄÜÊÇʹÓÿìËÙÅÅÐòÀý³Ì½øÐÐÅÅÐò£¬ÆäÓ÷¨Îª£ºvoid qsort(void *base, int nelem, int width, int (*fcmp)());³Ì ......