½â¶Á¸´ÔÓµÄ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×Ö·û´®³¤¶È¶¨Ò广·¶
£¨×ªÔØÇë×¢Ã÷À´Ô´ÓÚ½ðÇìµÄרÀ¸£©
ÒòΪ×ÜÊǼûµ½C×Ö·û´®³¤¶ÈÏà¹ØµÄ´íÎó, ËùÓж¨¸ö¹æ·¶³öÀ´, ÓÐÀûÓÚ¼õÉÙ´íÎó.
¹Ø¼üÔÚÓÚC×Ö·û´®Óиö½áβ0, ´¦ÀíʱÐèҪעÒâ.
¶¨Òå×Ö·û´®³¤¶ÈÓÐÁ½ÖÖ·½Ê½, Ò»ÖÖÊÇÓÃ×Ö·û´®µÄ´óС, Ò»ÖÖÊÇ×Ö·û´®µÄ³¤¶È.
×Ö·û´®µÄ´óС¼´ÄÚ´æ¿Õ¼äµÄ´óС, ¶ø´®³¤¶È¼Ó1²ÅÊÇËùÐè¿Õ¼ä.   ......
CµÄº¯ÊýÖ¸ÕëºÜÇ¿´ó£¬ÓúÃÁ˲ÅÊÇCÓïÑԵĸßÊÖ¡£ÏñGtkÖеĻص÷º¯ÊýµÄʹÓ㬶¼ÌåÏÖÁ˺¯ÊýÖ¸ÕëµÄÇ¿´óÍþÁ¦¡£
struct Point{
int x, y;
};
/*Shape*/
/*----------------------------------------------------------------*/
struct Shape {
struct Methods* methods;
};
struct Meth ......
·ûºÅ
C- Òâ˼Êǰ´×¡ Ctrol ¼ü
M- ÒâÖ¸ Meta ¼ü (¼üÅÌÉÏÈôÎÞMeta ¼ü£¬Ôò¿ÉÒÔALT ESC ¼üÀ´È¡¶ø´úÖ®)
DEL ÒâÖ¸Í˸ñ¼ü (²»ÊÇ É¾³ý(Delete) key)
RET ÒâÖ¸»Ø³µ¼ü
SPC ÒâÖ¸¿Õ¸ñ¼ü
ESC ÒâÖ¸Escape¼ü
TAB ÒâÖ¸Tab¼ü
Ïñ "C-M-" (or "M-C") ......
ÓüÇʱ¾Ð´C³ÌÐò£¬²¢±àÒë¡£ ¸Õ×°ºÃµÄϵͳ
ÖÐÒѾÓÐGCCÁË£¬µ«ÊÇÕâ¸öGCCʲôÎļþ¶¼²»ÄܱàÒ룬ÒòΪûÓÐһЩ±ØÐëµÄÍ·Îļþ£¬ËùÒÔÒª°²×°build-essentialÕâ¸öÈí¼þ
°ü£¬°²×°ÁËÕâ¸ö°ü»á×Ô¶¯°²×°ÉÏg++,libc6-dev,linux
-libc-dev,libstdc++6-4.1-devµÈһЩ±ØÐëµÄÈí¼þºÍÍ·ÎļþµÄ¿â¡£
¿ÉÒÔÔÚÐÂÁ¢µÃÀïÃæË ......