Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

˳ʱÕë·½·¨ ½â¶Á C ¸´ÔӺ궨Òå

[This was posted to comp.lang.c by its author, David Anderson, on 1994-05-06.]
The ``Clockwise/Spiral Rule''
By David Anderson
There is a technique known as the ``Clockwise/Spiral Rule'' which enables any C programmer to parse in their head any C declaration!
There are three simple steps to follow:
Starting with the unknown element, move in a spiral/clockwise direction; when ecountering the following elements replace them with the corresponding english statements:
[X] or [] => Array X size of... or Array undefined size of... (type1, type2) => function passing type1 and type2 returning... * => pointer(s) to...
Keep doing this in a spiral/clockwise direction until all tokens have been covered.
Always resolve anything in parenthesis first!
Example #1: Simple declaration
+-------+
| +-+ |
| ^ | |
char *str[10];
^ ^ | |
| +---+ |
+-----------+
Question we ask ourselves: What is str?
``str is an...
We move in a spiral clockwise direction starting with `str' and the first character we see is a `[' so, that means we have an array, so...
``str is an array 10 of...
Continue in a spiral clockwise direction, and the next thing we encounter is the `*' so, that means we have pointers, so...
``str is an array 10 of pointers to...
Continue in a spiral direction and we see the end of the line (the `;'), so keep going and we get to the type `char', so...
``str is an array 10 of pointers to char''
We have now ``visited'' every token; therefore we are done!
Example #2: Pointer to Function declaration
+--------------------+
| +---+ |
| |+-+| |
| |^ || |
char *(*fp)( int, float *);
^ ^ ^ || |
| | +--+|


Ïà¹ØÎĵµ£º

¡¾×ª¡¿¡¾C\C++ÓïÑÔÈëÃÅÆª¡¿ ÉîÈ뺯Êý

Ç°ÃæÒ»ÆªÎÒÃǽéÉÜÁ˽ṹÌ壬ÕâÆªÖÕÓÚÄܹ»½éÉܺ¯ÊýÁË¡£ÎªÊ²Ã´ÕâÃ´ËµÄØ£¿ÒòΪº¯Êý·Ç³£ÖØÒª¡£¾ÍÕâô¼òµ¥¡£ºÙºÙ£¡Ö®ËùÒÔÔÚÕâʱ²Å½²º¯Êý£¬ÊÇÒòΪ±¾Æª½«ÁªÏµµ½Ç°ÃæµÄÿһƪ£¬ÕâÑùº¯Êý²ÅÄÜÌåÏÖµÄ͸³¹¡£ÄÇÎÒÃÇ¾ÍÆÈ²»¼°´ýµÄÇÐÈëÕýÌâ¡£
´ÓµÚһƪHelloworld¿ªÊ¼µ½ÏÖÔÚ£¬¾ÍûÓÐÍÑÀ뺯Êý¡£ÄǾÍÊÇÎÒÃǵÄmainº¯Êý¡£mainº¯ÊýÒ²ÊÇÒ»¸öÆÕͨµÄ ......

¡¾×ª¡¿¡¾C\C++ÓïÑÔÈëÃÅÆª¡¿ ÉîÈëÖ¸Õë

ÔÙÉÏһƪ£¬ÎÒÃǽéÉÜÁË»ù±¾µ÷ÊÔ¡£Ö®Ç°Ò²ËµÁË£¬Ö®ËùÒ԰ѵ÷ÊÔ·ÅÔÚÇ°Ãæ½²ÊÇÒòΪºóÃæµÄÎÄÕ»ù±¾¶¼»áÓõ½µ÷ÊÔ¡£¹Û²ìÎÒÃǵijÌÐòµ½µ×·¢ÉúÁËʲô¡£ÈÃÎÒÃÇÄܹ»Ö±½ÓÃ÷Á˵Ŀ´Çå³þÎÊÌâµÄ±¾ÖÊ¡£±¾Æª½«ÉîÈëÒ»µã½éÉÜÖ¸ÕëÕâ¸öÈÃÎÞÊý³õѧÕßη¾åµÄ¶«Î÷¡£Ï£Íû´ó¼ÒÔÙ¿´Í걾ƪ֮ºóÄܶÔÖ¸ÕëÓÐеÄÈÏʶ£¬Ö®ºó²»ÔÙ¾åÅÂËü¡£¾õµÃËü¾ÍÄÇô»ØÊ¡£ÄÇÏÂÃæÎÒ ......

ÔÚѧϰCºóÊÇ·ñ»¹ÒªÑ§Ï°C++£¿

»ªÇåÔ¶¼û 2010-01-22 09:21 ×÷ÕߣºÍõæ©æ©,»ªÇåÔ¶¼ûǶÈëʽѧԺ½²Ê¦¡£
        ÔÚǶÈëʽ¿ª·¢ÖУ¬×÷Ϊµ×²ã¿ª·¢Õߣ¬¸ü¿´ÖصÄÊÇCÓïÑԵıà³ÌÄÜÁ¦£¬µ«×÷ΪӦÓóÌÐòµÄ¿ª·¢Õߣ¬ÎÒÏëѧϰC++»¹ÊÇÓбØÒªµÄ¡£ÄãÖ»ÓÐÔÚÁ˽âÁË£Ã++µÄÌØÐÔ£¬´Ó±¾ÖÊÉÏ¿´µ½ËüÓëCµÄÇø±ð²ÅÄܼᶨÄãÈÏʶѧϰËüµÄ¾öÐÄ¡£ÎÒ²»ÊÇ× ......

Åú´¦Àí µ÷ÊÔC/C++ʱɾ³ýÎÞÓõÄÎļþ

@echo --------------------- ÓÃÓÚ¡¶Ò»¸ö²Ù×÷ϵͳµÄʵÏÖ¡·µÄ cmd ---------------------
@echo off
mode con cols=80 lines=60 ::ǰһ¸öÊý×Ö»ò×ÖĸΪ±³¾°É«£¬ºóÒ»¸öÊý×Ö»òÕß×ÖĸΪǰ¾°É«£¬ÏÂÃæÊÇһЩÑÕÉ«¶ÔÓ¦µÄÊý×Ö»ò×Öĸ£º
::0£½ºÚ¡¢1£½À¶¡¢2£½ÂÌ¡¢3£½Ç³ÂÌ¡¢4£½ºì¡¢5£½×Ï¡¢6£½»Æ¡¢7=°×¡¢8=»Ò¡¢9=µ­À¶¡¢A£½µ ......

×Ö·û´®×ªÊý×Ö£¬Êý×Öת×Ö·û´®Cº¯Êý

atof(½«×Ö·û´®×ª»»³É¸¡µãÐÍÊý)
atoi(½«×Ö·û´®×ª»»³ÉÕûÐÍÊý)
atol(½«×Ö·û´®×ª»»³É³¤ÕûÐÍÊý)
strtod(½«×Ö·û´®×ª»»³É¸¡µãÊý)
strtol(½«×Ö·û´®×ª»»³É³¤ÕûÐÍÊý)
strtoul(½«×Ö·û´®×ª»»³ÉÎÞ·ûºÅ³¤ÕûÐÍÊý)
toascii(½«ÕûÐÍÊýת»»³ÉºÏ·¨µÄASCII Âë×Ö·û)
toupper(½«Ð¡Ð´×Öĸת»»³É´óд×Öĸ)
tolower(½«´óд×Öĸת»»³ÉСд×Öĸ) ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ