½â¶Á¸´ÔÓµÄ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( ......
(±¾ÎÄÔ´×Ôhttp://www.weste.net/2006/2-20/13432127659.html )¡¡¡¡
Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½ÁËÔõÑùµÄ³Ì¶È£¬ÎÒÃÇÄÜÕæÕýдºÃÒ»¸östrcpyº¯ÊýÂð£¿ÎÒÃǶ¼¾õµÃ×Ô¼ºÄÜ£¬¿ÉÊÇÎÒÃÇд³öµÄstrcpyºÜ¿ÉÄÜÖ»ÄÜÄõ½10·ÖÖÐ ......
˵Ã÷£º³ÌÐòʹÓÃÁË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\Îļþ¼ ......