C¼¼ÇÉʰÒÅ~
1. ÔõÑù½¨Á¢ºÍÀí½â·Ç³£¸´ÔÓµÄÉùÃ÷£¿ÀýÈ綨ÒåÒ»¸ö°üº¬N ¸öÖ¸Ïò·µ»ØÖ¸Ïò×Ö·ûµÄÖ¸ÕëµÄº¯ÊýµÄÖ¸ÕëµÄÊý×飿
Õâ¸öÎÊÌâÖÁÉÙÓÐÒÔÏÂ3 ÖÖ´ð°¸:
1. char *(*(*a[N])())();
2. ÓÃtypedef Öð²½Íê³ÉÉùÃ÷:
typedef char *pc; /* ×Ö·ûÖ¸Õë*/
typedef pc fpc(); /* ·µ»Ø×Ö·ûÖ¸ÕëµÄº¯Êý*/
typedef fpc *pfpc; /* ÉÏÃæº¯ÊýµÄÖ¸Õë*/
typedef pfpc fpfpc(); /* ·µ»Øº¯ÊýÖ¸ÕëµÄº¯Êý*/
typedef fpfpc *pfpfpc; /* ÉÏÃæº¯ÊýµÄÖ¸Õë*/
pfpfpc a[N]; /* ÉÏÃæÖ¸ÕëµÄÊý×é*/
2. *p++ ×ÔÔöp »¹ÊÇp ËùÖ¸ÏòµÄ±äÁ¿£¿
ºó׺++ ºÍ-- ²Ù×÷·û±¾ÖÊÉϱÈǰ׺һĿ²Ù×÷µÄÓÅÏȼ¶¸ß, Òò´Ë*p++ ºÍ*(p++) µÈ¼Û, Ëü×ÔÔöp ²¢·µ»Øp ×ÔÔö֮ǰËùÖ¸ÏòµÄÖµ¡£Òª×ÔÔöp Ö¸ÏòµÄÖµ, ʹÓÃ(*p)++, Èç¹û¸±×÷ÓõÄ˳ÐòÎ޹ؽôÒªÒ²¿ÉÒÔʹÓÃ++*p¡£
ÍØÕ¹£º
void func()
{
int i = 2;
int j = 5;
int *p = &i;
printf("result :%d\n",*(--p));
}
Êä³ö£º
result :5
ÔÒò£ºÕ»ÊÇÏòµÍµØÖ·À©Õ¹µÄÊý¾Ý½á¹¹£¡
3.ÔõÑùÅжϻúÆ÷µÄ×Ö½Ú˳ÐòÊǸß×Ö½ÚÔÚǰ»¹ÊǵÍ×Ö½ÚÔÚǰ£¿
ÓиöʹÓÃÖ¸ÕëµÄ·½·¨£º
int x = 1;
if(*(char *)&x == 1)
printf("little-endian\n");
else
printf("big-endian\n");
Ïà¹ØÎĵµ£º
¹æÔò»ò½¨Ò顣ÿÌõ×¼Ôò¶¼ÓÐÀýÍâ
1£¬¼ÙÏëµÄ±àÒë³ÌÐò
ʹÓñàÒë³ÌÐòËùÓеĿÉÑ¡¾¯¸æÉèÊ©
ʹÓÃlintÀ´²é³ö±àÒë³ÌÐò©µôµÄ´íÎó
Èç¹ûÓе¥Ôª²âÊÔ£¬¾Í½øÐе¥Ôª²âÊÔ
2£¬×Ô¼ºÉè¼Æ²¢Ê¹ÓöÏÑÔ
¼ÈҪά»¤³ÌÐòµÄ½»¸¶°æ±¾£¬ÓÖҪά»¤³ÌÐòµÄµ÷ÊÔ°æ±¾
ҪʹÓöÏÑÔ¶Ôº¯Êý²ÎÊý½øÐÐÈ·ÈÏ
Òª´Ó³ÌÐòÖÐɾȥÎÞ¶¨ÒåµÄÌØÐÔ£¬»òÕßÔÚ³ÌÐòÖÐʹÓöÏÑÔÀ´¼ ......
http://en.wikipedia.org/wiki/C_preprocessor
C preprocessor
from Wikipedia, the free encyclopedia
Jump to:navigation, search
The C preprocessor (cpp) is the preprocessor for the C programming language. In many C implementations, it is a separate program invoked by the compiler as the first part ......
¡¶Cר¼Ò±à³Ì¡·Ñ§Ï°×ܽá2
ת×Ô £º http://blog.chinaunix.net/u2/87570/showart_2120069.html
±àÒëÆ÷×öÁËЩʲô
ͼ1£º±àÒëÆ÷ͨ³£·Ö¸î³É¼¸¸ö¸üСµÄ³ÌÐò
¾²Ì¬Á´½ÓÓ붯̬Á´½Ó
  ......