½â¶Á¸´ÔÓµÄC/C++ÉùÃ÷[ÈëÃÅƪ]
¸´ÔÓµÄC\C++ÉùÃ÷£¬³£³öÏÖÔÚѧУµÄ¿¼¾í£¬ÃæÊÔÌâ»òÊÇÅ£ÈËÀÏÍâµÄ´úÂëÖС£
ÎÒÃÇÔÚʵ¼ÊµÄ¹¤×÷ÖУ¬Ó¦¸Ã¾¡¿ÉÄÜÉÙʹÓø´ÔÓµÄÉùÃ÷¡£¸´ÔÓµÄÉùÃ÷£¬»áÈÃÔĶÁÄú´úÂëµÄÈ˺ÜÊÇÓôÃÆ¡£
ËäÈ»²»Ê¹ÓÃÕâÖÖ¸´ÔÓµÄÉùÃ÷£¬µ«»¹ÊÇÓ¦¸Ã°Ñ½«ÈçºÎ½âÎöÕâÖÖ¸´ÔÓµÄÉùÃ÷µÄ·½·¨¼ÇÔÚÐÄÖС£
ËùÒÔ£¬ÎÒ°ÑÕâÖÖ·½·¨¼Ç¼ÏÂÀ´£¬ÒÔ±¸²»Ê±Ö®Ðè¡£
ÈëÃÅÌâ
1) Ò»¸öÕûÐÍÊý£¨An integer£©
´ð£ºint n
2) Ò»¸öÖ¸ÏòÕûÐÍÊýµÄÖ¸Õ루A pointer to an integer£©
´ð£ºint *p
3) Ò»¸öÖ¸ÏòÖ¸ÕëµÄµÄÖ¸Õ룬ËüÖ¸ÏòµÄÖ¸ÕëÊÇÖ¸ÏòÒ»¸öÕûÐÍÊý£¨A pointer to a pointer to an integer£©
´ð£ºint **p
4) Ò»¸öÓÐ10¸öÕûÊýµÄÊý×飨An array of 10 integers£©
´ð£ºint a[10]
5) Ò»¸öÓÐ×Å10¸öÔªËصÄÊý×飬ÿ¸öÔªËض¼ÊÇÒ»¸öÖ¸ÏòÕûÐÎÊýµÄÖ¸Õ루An array of 10 pointers to integers£©
´ð£º´ÓµÚ1ÌâÖÁµÚ4Ì⣬¶¼ÊÇÒ»ÑÛÄÜ¿´³öÀ´µÄ¡£µÚ5Ìâ¾ÍÐèҪעÒâ¡£
ÎÒ½«µÚ5ÌâµÄÌâÄ¿°´ÈçϽâ¶Á£º
a.´ÓÍâÍùÄÚ½øÐнâ¶Á
b.ÓÐÒ»¸ö10¸öÔªËصÄÊý×飺typedef P (a[10])
c.ÿ¸öÔªËض¼ÊÇÒ»¸öÖ¸ÏòÕûÐÎÊýµÄÖ¸Õ룺int *P
d.´ÓÏÂÍùÉϽøÐÐǶÌ×~
e.ËùÒÔ´ð°¸Îªint *(a[10]) = int *a[10]
6) Ò»¸öÖ¸ÏòÓÐ10¸öÕûÐÍÊýÊý×éµÄÖ¸Õ루A pointer to an array of 10 integers£©
´ð£º½â¶ÁÈçÏÂ
a.´ÓÍâÍùÄÚ½øÐнâ¶Á b.ÕâÊÇÒ»¸öÖ¸Õë typedef P (*a)
b.ÓÐ×Å10¸öÕûÐ͵ÄÊý×é int P[10]
c.´ÓÏÂÍùÉϽøÐÐǶÌ×
d.ËùÒÔ´ð°¸Îª int (*a)[10]
7) Ò»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬¸Ãº¯ÊýÓÐÒ»¸öÕûÐͲÎÊý²¢·µ»ØÒ»¸öÕûÊý£¨A pointer to a function that takes an integer as an argument and returns an integer£©
´ð£º½â¶ÁÈçÏ£¬
a.´ÓÍâÍùÄÚ½øÐнâ¶Á
b.ÕâÊÇÒ»¸öÖ¸Õë typedef P(*a)
c.ÕâÊÇÒ»¸öº¯Êý£¬ÓÐÒ»¸öÕûÐͲÎÊý²¢·µ»ØÒ»¸öÕûÊý int P(int)
d.´ÓÏÂÍùÉϽøÐÐǶÌ×
e.ËùÒÔ´ð°¸Îª int (*a)(int)
8) Ò»¸öÓÐ10¸öº¯ÊýÖ¸ÕëµÄÊý×飬ÕâЩº¯ÊýÓÐÒ»¸öÕûÐͲÎÊý²¢·µ»ØÒ»¸öÕûÐÍÊý£¨ An array of ten pointers to functions that take an integer argument and return an integer £©
´ð£º½â¶ÁÈçÏ£¬
a.´ÓÍâÍùÄÚ½øÐнâ¶Á
b.ÕâÊÇÒ»¸öÊý×é typedef P (a[10])
c.ÕâÊÇÒ»¸öÖ¸Õë typedef Q (*P)
d.ÕâЩº¯ÊýÓÐÒ»¸öÕûÐͲÎÊý²¢·µ»ØÒ»¸öÕûÐÍ int Q(int)
e.´ÓÏÂÍùÉϽøÐÐǶÌ×
f.ËùÒÔ´ð°¸Îª int (*(a[10]))(int) = int (*a[10])(int)
×ܽáһϣº °´´ÓÍâÍùÄڵĹØϵ½øÐзֽ⣬·ÖÎö³ö×îÍâÃæµÄÊÇʲôÀàÐÍ£¬µ½µ×ÊÇÒ»¸öÖ¸Õ룬»¹ÊÇÒ»¸öÊý×é¡£
Ç°ÃæÕâ8µÀÌ⣬¶¼ºÜÃ÷È
Ïà¹ØÎĵµ£º
ÕâÊÇÈëÃÅƪÖÐÌáµ½µÄÄÇÁ½Ì⣺
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( ......
ÔÚʹÓÃCÓïÑÔ±àд´óÐ͹¤³ÌʱҪÓõ½ÃæÏò¶ÔÏóÓïÑÔÖеÄһЩÌØÐÔ£¨ÄÚºËÖÐijЩ²¿·Ö¾ÍÓ¦ÓÃÁËÕâЩÌØÐÔ£©¡£CÓïÑÔÊÇ»ùÓÚÎļþµÄÀ࣬static¹Ø¼ü×ÖÉùÃ÷˽ÓÐÊý¾Ý³ÉÔ±£¬¹«ÓÐÊý¾Ý³ÉÔ±±ØÐ붨Ò嵽ͷÎļþ£¬»òÓÉÆäËüÎļþʹÓÃextern¹Ø¼ü×ÖÉùÃ÷À´Ê¹Óᣵ«ºóÕßÒýÓùØϵ²»ÇåÎú¡£Í·Îļþ¾Í³ÉÁ˹«ÓÐÊý¾Ý³ÉÔ±ÉùÃ÷µÄµØ·½¡£
Í·ÎļþÖÐÓ¦¸Ã°üº¬ÒÔϼ°·½ÃæÄÚ ......
˵Ã÷£º³ÌÐòʹÓÃÁËOpenGL£¬Òò´ËÓÃVS±àÒëʱ£¬¾ÍÒª´î½¨Ê¹ÓÃOpenGLµÄ»·¾³¡£¾ßÌå·½·¨ÈçÏ£¬
1¡¢ÏÂÔØhttp://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip²¢½âѹ£»
2¡¢ÔÚvs2008ÖУ¬°Ñ½âѹÎļþ¼ÐÀïµÄglut.h¸´ÖƵ½ vs2008°²×°Ä¿Â¼\VC\include\Îļþ¼ÐÖУ¬°Ñglut.libºÍglut32.lib¸´ÖƵ½ vs2008°²×°Ä¿Â¼\VC\lib\Îļþ¼ ......
µÚÒ»Õ¸ÅÀÀ
CÊÇÒ»ÖÖ±àÒëÐ͵ÄÓïÑÔ
±àÒëÐÍ£º¾ÍÊÇ°ÑcÓïÑÔ±àÒë³É¼ÆËã»úÄÜÔËÐеĻúÆ÷´úÂë
²»Í¬µÄ¼ÆËã»úϵͳÓÐן÷×ԵıàÒëÆ÷£¬À´°Ñc±àÒë³É¶ÔÓ¦µÄ»úÆ÷´úÂë
ÌØÐÔ£º´úÂë¸ßЧ£¬¿ÉÒÆÖ²£¬¹¦ÄÜÇ¿´óºÍÁé»î
ȱµã£º´úÂë¸ñʽ×ÔÓÉ£¨ÌرðÊÇÖ¸ÕëµÄʹÓã©
CÓïÑÔÔËÐеÄÆ߸ö²½Ö裺
1. ¶¨Ò ......