½â¶Á¸´ÔÓµÄC/C++ÉùÃ÷[ʵսƪ]
ÕâÊÇÈëÃÅƪÖÐÌáµ½µÄÄÇÁ½Ì⣺
int * (* (*fp1) (int) ) [10];
int *( *( *arr[5])())();
½â´ðÈçÏÂ
1.int * (* (*fp1) (int) ) [10];
´ÓÍâÍùÄÚ½øÐзÖÎö
a.typedef P=(* (*fp1) (int) )£¬ÄÇôÔÉùÃ÷¸ÄдΪ int*P[10]£¬ÕâÊÇÒ»¸öÓÐ10¸öÔªËصÄÊý×飬ÿ¸öÔªËض¼ÊÇÒ»¸öÖ¸ÏòÕûÐÍÊýµÄÖ¸Õë
b.typedef Q=(*fp1)£¬ÄÇôP¸ÄдΪ *Q(int)£¬ÕâÊÇÒ»¸öº¯Êý£¬¸Ãº¯ÊýÓÐÒ»¸öintÐβΣ¬·µ»ØֵΪһ¸öÖ¸Õë¡£
c.*fp1 ÕâÊÇÒ»¸öÖ¸Õë
°´´ÓÏÂÍùÉϽøÐÐÐÞÊεķ½Ê½×éºÏ¡£
ÕâÊÇÒ»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬¸Ãº¯ÊýÓÐÒ»¸öintÐβΣ¬·µ»ØֵΪһ¸öÖ¸Ïò10¸öÔªËØÊý×éµÄÖ¸Õë¡£¸ÃÊý×éÀïµÄÿһ¸öÔªËض¼ÊÇÒ»¸öÖ¸ÏòÕûÐÎÊýµÄÖ¸Õë¡£
2.int *( *( *arr[5])())()
´ÓÍâÍùÄÚ½øÐзÖÎö
a.typedef P = ( *( *arr[5])()) £¬ÄÇôÔÉùÃ÷±»¸ÄдΪ int *P () £¬ÕâÊÇÒ»¸öº¯Êý£¬¸Ãº¯ÊýûÓÐÐβΣ¬·µ»ØֵΪint*
b.typedef Q = *arr[5]£¬ÄÇôP±»¸ÄдΪ *(Q)() £¬ÕâÊÇÒ»¸öº¯Êý£¬¸Ãº¯ÊýûÓÐÐβΣ¬·µ»ØֵΪһ¸öÖ¸Õë
c.*arr[5]£¬ÕâÊÇÒ»¸öÓÐ×Å5¸öÔªËصÄÊý×飬ÿ¸öÔªËض¼ÊÇÒ»¸öÖ¸Õë¡£
°´´ÓÏÂÍùÉϽøÐÐÐÞÊεķ½Ê½×éºÏ¡£
ÕâÊÇÒ»¸öÓÐ5¸öÔªËصÄÊý×飬ÿ¸öÔªËض¼ÊÇÒ»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬¸Ãº¯ÊýûÓÐÐβΣ¬Óзµ»ØÖµ¡£
ËüµÄ·µ»ØÖµÊÇÒ»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬Õâ¸öº¯ÊýͬÑùûÓÐÐβΣ¬·µ»ØֵΪָÏòÕûÐÍÊýµÄÖ¸Õë¡£
×ܽ᣺
Äõ½ÕâÖÖÉùÃ÷£¬ÒªÒ»²ãÒ»²ãµÄ°þ¿ª£¬¾ÍÏñÎÒÉÏÃæµÄa,b,c²½ÖèÒ»Ñù£¬Ö±µ½²»ÄÜÔÙ°þΪֹ¡£
È»ºó´ÓÏÂÍùÉϵĽøÐÐÐÞÊÎ×éºÏ¡£
ÈçcÊÇÖ¸Õ룬bÊÇÊý×飬ÄÇÎÒÃǾÍ˵ÕâÊÇÒ»¸öÖ¸ÏòÊý×éµÄÖ¸Õë¡£
cÊÇÊý×é,bÊÇÖ¸Õ룬ÄÇÎÒÃǾÍ˵Õâ¸öÊý×éÀïµÄÿ¸öÔªËض¼ÊÇÖ¸Õë
ÒªÏëÌá¸ß½âÎöµÄËٶȣ¬ÏÂÃ漸¸ö»ù±¾ÉùÃ÷ÒªÀμÇÓÚÐÄ£¬×öµ½µÚÒ»·´Ó¦
int *a[10] Ò»¸öÓÐ×Å10¸öÔªËصÄÊý×飬ÿ¸öÔªËض¼ÊÇÒ»¸öÖ¸ÏòÕûÐÎÊýµÄÖ¸Õë sizeof(a)=sizeof(int)*10=40
int (*a)[10] Ò»¸öÖ¸ÏòÓÐ10¸öÕûÐÍÊýÊý×éµÄÖ¸Õë sizeof(a)=4
int (*a)(int) Ò»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬¸Ãº¯ÊýÓÐÒ»¸öÕûÐͲÎÊý²¢·µ»ØÒ»¸öÕûÊý sizeof(a)=4
Ïà¹ØÎĵµ£º
ͨ¹ý°ÑºÄʱ³¤µÄº¯ÊýÓÃcÓïÑÔʵÏÖ£¬²¢±àÒë³Émexº¯Êý¿ÉÒÔ¼Ó¿ìÖ´ÐÐËٶȡ£Matlab±¾ÉíÊDz»´øcÓïÑԵıàÒëÆ÷µÄ£¬ËùÒÔÒªÇóÄãµÄ»úÆ÷ÉÏÒѾ°²×°ÓÐVC,BC»òWatcom CÖеÄÒ»ÖÖ¡£Èç¹ûÄãÔÚ°²×°MatlabʱÒѾÉèÖùý±àÒëÆ÷£¬ÄÇôÏÖÔÚÄãÓ¦¸Ã¾Í¿ÉÒÔʹÓÃmexÃüÁîÀ´±àÒëcÓïÑԵijÌÐòÁË¡£Èç¹ûµ±Ê±Ã»ÓÐÑ¡£¬¾ÍÔÚMatlabÀï¼üÈëmex -setup£¬ÏÂÃæÖ»Òª¸ù¾ÝÌáʾ ......
ÔÚLinuxÏÂд³ÌÐò£¬Óöµ½Ò»¸öº¯Êý²»ÖªµÀÔõôÓþ͵ÃÉÏÍøÈ¥²é£¬Ã»ÓÐÀàËÆMSDNÖ®ÀàµÄÈí¼þ£¬·³µÃºÜ¡£¿´µ½ÍøÉϺܶàÈ˶¼ËµÓÃmanºÜ·½±ã£¬Ö»ÒªmanÒ»ÏÂÄãÏëÁ˽âµÄº¯Êý¾ÍÐÐÁË£¬¿ÉÎÒÔÚmanÖ®ºóʲô¶¼µÃ²»µ½£¬±ÈÈç man printf£¬½á¹û¾ÍÊÇûÓÐÈë¿Ú
½ñÌìרÃÅÉÏÍøËÑÁËÏ£¬·¢ÏÖÔÀ´ÊÇÒòΪUbuntuĬÈÏûÓÐ×°manpages-dev£¬¶øº¯Êý¶¼ÔÚÕâ¸ö°üÀ°ÑÕ ......
±¾ÎÄÊ×·¢µØÖ·£ºhttp://blog.csdn.net/liigo/archive/2009/09/22/4582018.aspx
תÔØÇë×¢Ã÷³ö´¦£ºhttp://blog.csdn.net/liigo
×÷Õߣºliigo, 2009/09/22
¡¡¡¡ÔÚÏÂΧÆåʱ£¬µ±Ò»¸öÆå×ÓÂäµ½ÆåÅÌÉÏ£¬Ëü»á¶ÔÖÜΧ¶Ô·½Æå×ÓµÄËÀ»î²úÉúÓ°Ï죬Èç¹û¶Ô·½Æå×ÓûÓÐÆøÁË£¨ËÀÁË£©£¬±ØÐë´ÓÆåÅÌÉÏÄõô£¨Ìá×Ó£©¡£Õâ¸ö¹ý³ÌÌåÏÖµ½Î§ÆåÈí¼þÖУ¬¾ÍÐ ......
ÔÚ´óÐÍCÓïÑÔÏîÄ¿¹¤³Ì»òÕßlinuxÄÚºËÖÐÎÒÃǶ¼»á¾³£¼ûµ½Á½¸öFASTCALLºÍarmlinkage
Á½¸ö±êʶ·û(ÐÞÊηû)£¬ÄÇôËüÃǸ÷ÓÐʲô²»Í¬ÄØ£¿½ñÌì¾Í¸ø´ó¼Ò¹²Í¬·ÖÏíÒ»ÏÂ×Ô¼ºµÄÐĵÃ.
´ó¼Ò¶¼ÖªµÀÔÚ±ê×¼CϵÖк¯ÊýµÄÐβÎÔÚʵ¼Ê´«Èë²ÎÊýµÄʱºò»áÉæ¼°µ½²ÎÊý´æ·ÅµÄÎÊÌ⣬ÄÇôÕâЩ²ÎÊý´æ·ÅÔÚÄÄÀïÄØ£¿ ÓÐÒ»¶¨ÀíÂÛ»ù´¡µÄ ......
Ìâ¼Ç£º
ËùÓеÄÍêÃÀ£¬¶¼ÊÇÔÚ±ÀÀ£µÄÒ»¿Ì´ïµ½µÄ£¡
ÎÒÒ»Ö±»Ø±Ü³ÌÐòµÄÄÚ´æ¹ÜÀí£¬ÒòΪ°®Ö®ÓúÉºÞÖ®ÓúÁÒ¡£µ«ÊÇ£¬»¹ÊÇÓɺܶàµÄÅóÓÑÒ»Ö±ÔÚÌåÕâ·½ÃæµÄÎÊÌ⣬ËùÒÔ¾ÍË÷ÐÔ°ÑËü̹°×ÁË£¬Ò²Ðí¶ÔÄãÎÒ¶¼ÊÇÒ»¼þºÃÊÂÇé¡£
Ê×ÏÈ£¬ÐèÒª¸ãÇå³þ£º±äÁ¿µÄÀàÐͺÍËüµÄ´æ´¢Àà±ðÊÇÁ½¸ö¸ÅÄî¡£
Êý¾ÝÀàÐͺÍÄÚ´æ¹ÜÀíûÓÐÖ±½ÓµÄ¹Øϵ¡£
Ò»¸öÓÉc/C++±à ......