CÖ¸Õ루2£©
CÓïÑÔ±ØÖª±Ø»á£¨2£©
4.º¯ÊýºÍÖ¸Õë
4.1. Ö¸Ïòº¯ÊýµÄÖ¸Õë
Ö¸Ïòº¯ÊýµÄÖ¸Õ뼴ͨ³£ËµµÄº¯ÊýÖ¸Õ룬ÕýÊÇÓÉÓÚÕâЩ¼ò³Æ£¬ËùÒÔËüºÍ·µ»ØÖ¸ÕëµÄº¯Êý£¨Ö¸Õ뺯Êý£©ÈÝÒ×»ìÏý£¬¶øÇÒÒ²ÓÉÓÚд·¨ÉϱȽÏÏà½ü£¬¾ÍÏñÊý×éÖ¸Õë(int (*p)[4])ºÍÖ¸ÕëÊý×é(int *p[4])Ò»Ñù£¬Ç°Õß±íʾָÕë±äÁ¿pÖ¸ÏòÒ»¸öһάÊý×飬Õâ¸öÊý×麬ÓÐ4¸öintÐͱäÁ¿£¬ËùÒÔp++ºó£¬P¾ÍÖ¸ÏòÏÂÒ»¸öһάÊý×飻¶øºóÕß±íʾpÊÇÒ»¸öÊý×飬º¬ÓÐ4¸öÖ¸ÏòintÐÍÊýµÄÖ¸Õë·Ö±ðΪp[0],p[1],p[2],p[3]¡£
int max(int x,int y){
}
int (*ps)()=swap; //¶¨ÒåÁËÒ»¸öº¯ÊýÖ¸ÕëÖ¸Ïòswapº¯Êý
int (*ps)(int x,int y); //Ò²¶¨ÒåÁËÒ»¸öº¯ÊýÖ¸Õë¡£
µ÷ÓÃʱ£ºmax=max(a,b);»òmax=(*ps)(a,b);
4.2. ·µ»ØÖ¸ÕëµÄº¯Êý
char *getString(char strings[][10],int n){
return strings[i] //¼ÙÉè·µ»Ø××Ö·û´®
}
µ÷ÓÃʱ£ºchar *p=getString(strings,4);
printf("%s\n",p);
4.3. mainº¯Êý
mainº¯ÊýÊÇCÓïÑÔÖÐ×îÖØÒªµÄÒ»¸öº¯Êý£¬µ«ÊÇͨ³£ÔÚ±àд³ÌÐòµÄʱºòºÜÉÙÓõ½Ê¹ÓòÎÊýµÄmain(int argc,char *args[])º¯Êý£¬ÏÂÃæÊÇÒ»¸öÀý×Ó
int main(int argc,char *args[]){
//char *args[]ÐβÎÊÇÒ»¸öÖ¸ÕëÊý×飬ÿ¸öÔªËØ¶¼ÊÇÒ»¸öcharÐÍÖ¸Õ룬ËùÒÔ¿ÉÒÔÖ¸ÏòÒ»¸öÊý×é
while(argc-->1){
printf("%s\n",*(++args));
}
}
5.½á¹¹Ìå
¼òµ¥µÄ½á¹¹ÌåºÜ¼òµ¥£¬Òª×¢ÒâÇø·ÖµÄÊÇÖ¸Ïò½á¹¹ÌåµÄÖ¸Õ룬Èçstruct PEOPLE *p=people1;ÕâÀï¼ÙÉèPEOPLEÊǶ¨ÒåµÄÒ»¸ö½á¹¹ÌåÀàÐÍ£¬people1ÊÇPEOPLEÀàÐ͵ĽṹÌå±äÁ¿¡£
ʹÓÃÖ¸Õëµ÷ÓýṹʱÓÐÁ½ÖÖ·½·¨£º1)(*p).name»ò2)p->name¡£
ʹÓýṹÌåÀ´±àÐ´ÃæÏò¶ÔÏóµÄ´úÂë¡£
Àý×Ó£º
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int x;
int y;
void (*print)();
}NODE;
void print();
NODE *initNODE(){
NODE *node=(NODE*)malloc(sizeof(NODE));
node->print=print;
return node;
}
NODE *node=NULL;
int main(){
node=initNODE(
Ïà¹ØÎĵµ£º
×Ô¼ºÊ¹ÓÃvim±à¼´úÂëÒ²ÊÇÓÐÒ»¶Îʱ¼äÀ´£¬Ä¿Ç°ÔĶÁ¡¢Ð޸ġ¢Ð´´úÂë»ù±¾¶¼Àë²»¿ªËûÁË¡£±¾ÈËʹÓùýµÄ±à¼Æ÷ºÜÉÙ£¬ÒÔǰһ°ã¶¼ÊÇʹÓóÌÐò¿ª·¢IDE×Ô´øµÄ±à¼Æ÷Щ´úÂ룬û¾õµÃʲô·½±ã¡£¿ªÊ¼Ê¹ÓÃvimµÄ¸Õ¸Õ½Ó´¥linux³ÌÐò¿ª·¢µÄʱºò£¬ÄÇʱ¿´µ½ÆäËûÈËÒ»°ã¶¼ÊÇÔÚwindowsÏÂʹÓÃSource Insight ±à¼´úÂ룬ȻºóÔÚÐéÄâ»úlinuxÏÂmake¡£ÎұȽ ......
GNU/LinuxÓÐÁ½Ì׿â¿ÉÓÃÓÚÕýÔò±í´ïʽ±à³Ì£ºPOSIX¿âºÍPCRE¿â¡£Ç°Õß²»ÐèÒªµ¥¶À°²×°£¬Ò»°ãÐèÇó»¹ÊÇÄÜÂú×ãµÄ£¬ËÙ¶ÈÉÔÂýЩ¡£ºóÕßÊǾøºÊ¢ÃûµÄPerlÕýÔò±í´ïʽ¿â£¬¹¦ÄÜÇ¿´ó£¬Æ¥ÅäËٶȿ죬²»¹ý¿ÉÄÜÐèÒªµ¥¶À°²×°¡£
ÎÒÃÇÏÈÓÃÒ»¸öÀý×ÓÀ´½éÉÜÈçºÎʹÓÃPOSIX¿â¡£
££i nclude <stdio.h>
££i nclude <sys/ty ......
¶ÔÓÚxenµÄÐéÄ⻯¹ÜÀí£¬´ó¼Ò¶¼ÔÚÓÃÊ²Ã´ÄØ£¿ÎÒÕæµÄÏëÖªµÀÊDz»ÊÇ´ó¼Ò¶¼ÓÃxmÀ´½øÐйÜÀíÄØ£¿ÖÁÉÙÎÒÏë´ó¶àÊý½ö½öÏëÁ˽âһϵÄÅóÓÑ¿ÉÄÜÓÃÏÂxmÒ²¾ÍËãÊÇÁ˽âÁË¡£¶øÇÒÔÚxenµÄÓû§ÊÖ²áÀïÃæÒ²½ö½ö½éÉÜÁËÒ»ÏÂxmµÄʹÓ÷½·¨£¬¹ØÓÚÔõôʹÓÃËüµÄc½Ó¿ÚÀ´¹ÜÀíÐéÄ⻯·½ÃæµÄ½éÉÜÖ»×ÖδÌá¡£
ÎÒ²»½ö½öÏëÓÃxmÕâ¸ö¹¤¾ßÀ´´ ......
const£¬c\c++Öзdz£³£ÓõĹؼü×Ö¡£
Ê×ÏÈÎÒÃÇ¿´¿´constÓÐÄÇЩÐÞÊη½·¨¡£
×îÇ°ÃæÎÒÃÇÀ´¿´Ò»¸öÎÊÌâ¡£
char *p = "123";
¿ÉÄÜÓеÄÈ˲»ÖªµÀ£¬ÕâÀïµÄÕâ¸ö"123"ÊÇ´æ´¢ÔÚ³£Á¿ÇøµÄ£¬²»ÈÝÐíÐ޸ĵġ£
Ò²¾ÍÊÇ˵ËüÊǸöconstÀàÐ͵ġ£
±ê×¼µÄд·¨Ó¦¸ÃÊÇ
char const *p = "123";
ÖÁÓÚΪʲô±àÒëÆ÷ÈÝÐíÉÏÃæµÄÄǸö²»±ê×¼µÄд·¨£¬¿ÉÄ ......
Ôø¾Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) ) [10];ÕâÑùµÄ±äÁ¿ÉùÃ÷Âð£¿
±¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++ÉùÃ÷¡£
ÎÒÃǽ«´ÓÿÌì¶¼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconstÐÞÊηûºÍtypedef£¬»¹Óк¯ÊýÖ¸Õ룬×îºó½éÉÜÒ»¸öÄܹ»ÈÃÄã׼ȷµØÀí½âÈκÎC/C++ÉùÃ÷µÄ“ÓÒ×ó·¨Ôò&rdquo ......