Ìâ¼Ç£º
ËùÓеÄÍêÃÀ£¬¶¼ÊÇÔÚ±ÀÀ£µÄÒ»¿Ì´ïµ½µÄ£¡
ÎÒÒ»Ö±»Ø±Ü³ÌÐòµÄÄÚ´æ¹ÜÀí£¬ÒòΪ°®Ö®ÓúÉºÞÖ®ÓúÁÒ¡£µ«ÊÇ£¬»¹ÊÇÓɺܶàµÄÅóÓÑÒ»Ö±ÔÚÌåÕâ·½ÃæµÄÎÊÌ⣬ËùÒÔ¾ÍË÷ÐÔ°ÑËü̹°×ÁË£¬Ò²Ðí¶ÔÄãÎÒ¶¼ÊÇÒ»¼þºÃÊÂÇé¡£
Ê×ÏÈ£¬ÐèÒª¸ãÇå³þ£º±äÁ¿µÄÀàÐͺÍËüµÄ´æ´¢Àà±ðÊÇÁ½¸ö¸ÅÄî¡£
Êý¾ÝÀàÐͺÍÄÚ´æ¹ÜÀíûÓÐÖ±½ÓµÄ¹Øϵ¡£
Ò»¸öÓÉc/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö£º
1¡¢Õ»Çø£¨stack£©— ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£© — Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøʱ¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽµ¹ÊÇÀàËÆÓÚÁ´±í£¬ºÇºÇ¡£
3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£ ³ÌÐò½áÊøºóÓÉϵͳÊÍ·Å¡£
4¡¢ÎÄ×Ö³£Á¿Çø —³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊÍ·Å
5¡¢³ÌÐò´úÂëÇø—´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
¶þ¡¢Àý×Ó³ÌÐò
ÕâÊÇÒ»¸öÇ°±²Ð´µÄ£¬·Ç³£Ïêϸ
//main.cpp
int a = 0; //È ......
Ìâ¼Ç£º
ËùÓеÄÍêÃÀ£¬¶¼ÊÇÔÚ±ÀÀ£µÄÒ»¿Ì´ïµ½µÄ£¡
ÎÒÒ»Ö±»Ø±Ü³ÌÐòµÄÄÚ´æ¹ÜÀí£¬ÒòΪ°®Ö®ÓúÉºÞÖ®ÓúÁÒ¡£µ«ÊÇ£¬»¹ÊÇÓɺܶàµÄÅóÓÑÒ»Ö±ÔÚÌåÕâ·½ÃæµÄÎÊÌ⣬ËùÒÔ¾ÍË÷ÐÔ°ÑËü̹°×ÁË£¬Ò²Ðí¶ÔÄãÎÒ¶¼ÊÇÒ»¼þºÃÊÂÇé¡£
Ê×ÏÈ£¬ÐèÒª¸ãÇå³þ£º±äÁ¿µÄÀàÐͺÍËüµÄ´æ´¢Àà±ðÊÇÁ½¸ö¸ÅÄî¡£
Êý¾ÝÀàÐͺÍÄÚ´æ¹ÜÀíûÓÐÖ±½ÓµÄ¹Øϵ¡£
Ò»¸öÓÉc/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö£º
1¡¢Õ»Çø£¨stack£©— ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£© — Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøʱ¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽµ¹ÊÇÀàËÆÓÚÁ´±í£¬ºÇºÇ¡£
3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£ ³ÌÐò½áÊøºóÓÉϵͳÊÍ·Å¡£
4¡¢ÎÄ×Ö³£Á¿Çø —³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊÍ·Å
5¡¢³ÌÐò´úÂëÇø—´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
¶þ¡¢Àý×Ó³ÌÐò
ÕâÊÇÒ»¸öÇ°±²Ð´µÄ£¬·Ç³£Ïêϸ
//main.cpp
int a = 0; //È ......
ÕâÊÇÈëÃÅƪÖÐÌáµ½µÄÄÇÁ½Ì⣺
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¸öÔªËصÄÊý×飬ÿ¸öÔªËض¼ÊÇÒ»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬¸Ãº¯ÊýûÓÐÐβΣ¬Óзµ»ØÖµ¡£
ËüµÄ·µ»ØÖµÊÇÒ»¸öÖ¸Ïòº¯Êýµ ......
ÕâÊÇÈëÃÅƪÖÐÌáµ½µÄÄÇÁ½Ì⣺
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¸öÔªËصÄÊý×飬ÿ¸öÔªËض¼ÊÇÒ»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬¸Ãº¯ÊýûÓÐÐβΣ¬Óзµ»ØÖµ¡£
ËüµÄ·µ»ØÖµÊÇÒ»¸öÖ¸Ïòº¯Êýµ ......
ϵͳ»·¾³£ºUbuntu 9.04
Èí¼þ»·¾³£ºNetBeans 6.7.1 C/C++ ¡¢JDK1.6.0_16
±¾´ÎÄ¿µÄ£ºÍê³ÉNetBeans 6.7.1 C/C++ µÄÅäÖù¤×÷¡¢±àÒë²âÊÔ¼°¶ÔÖÐÎÄÖ§³Ö
Ê×ÏÈ´Ó¹ÙÍøÉÏÏÂÔØ×îаæµÄNetbeans Ñ¡ÔñC/C++¹¤×÷̨ÏÂÔØ[µã»÷½øÈë]£¬µ¯³öµÄÐÂÍøÒ³½«»á×Ô¶¯ÏÂÔØ£¬ÈçÏÂͼ£º
ÔÚ½øÐа²×°Ö®Ç°£¬ÎÒÃÇÏÈ°²×°JDK£¬²»ÓÃÈí¼þÔ´ÀïµÄJDK£¬Ç뿴֮ǰµÄÎÄÕ¡¾UbuntuÖÐJDKµÄ°²×°ÅäÖá¿¡£Ö®ºóÔÙ½øÐÐÖÐÎÄÖ§³ÖÉèÖã¬Õâ¶ÔÓÚNetbeansÄÜÏÔʾÖÐÎĺÜÖØÒª£¬²ÅÄܲ»³öÏÖÂÒÂë·½¿é£¬Ç뿴֮ǰµÄÎÄÕ¡¾UbuntuÖÐJAVAµÄÖÐÎÄÅäÖá¿¡£ok£¬Ö®ºóÔÚ“Öն˔ÊäÈëÒÔÏÂÃüÁîÔËÐа²×°£¬ÐèÒªÖ¸¶¨javahomeŶ
sudo sh netbeans-6.7-ml-cpp-linux.sh --javahome jdk1.6.0_16
Èô֮ǰJAVAµÄÉèÖÃÎÞÎóµÄ»°£¬Æô¶¯NetbeansÕâ¸öIDE½«²»»á³öÏÖÂÒÂë·½¿é£¬ÈçÏÂͼ£º
ÒòΪÎÒÃÇÏÂÔصÄÒѾÊÇ´øC/C++²å¼þµÄ°æ±¾£¬½ÓÏÂÀ´Òª¿ÉÒÔÉèÖñàÒëÆ÷¡£NetBeans C/C++ Ä£¿éÐèҪʹÓà C ±àÒëÆ÷¡¢C++ ±àÒëÆ÷¡¢make ʵÓóÌÐòºÍ gdb µ÷ÊÔÆ÷¡£NetbeansÉϵÄÎĵµÓëÖ§³Ö˵Ã÷£ºÔÚ Linux ƽ̨ÖУ¬Äú¿ÉÒÔʹÓà GNU ¹¤¾ß»ò Sun Studio ¹¤¾ß¡£
ÕâÀïÎÒÑ¡ÔñGNU¹¤¾ß£¬ÔÚ“Öն˔ÏÂÊäÈëÒÔÏÂÃüÁî°²×°ÕâЩ¹¤¾ß
sudo apt-get install g ......
ϵͳ»·¾³£ºUbuntu 9.04
Èí¼þ»·¾³£ºNetBeans 6.7.1 C/C++ ¡¢JDK1.6.0_16
±¾´ÎÄ¿µÄ£ºÍê³ÉNetBeans 6.7.1 C/C++ µÄÅäÖù¤×÷¡¢±àÒë²âÊÔ¼°¶ÔÖÐÎÄÖ§³Ö
Ê×ÏÈ´Ó¹ÙÍøÉÏÏÂÔØ×îаæµÄNetbeans Ñ¡ÔñC/C++¹¤×÷̨ÏÂÔØ[µã»÷½øÈë]£¬µ¯³öµÄÐÂÍøÒ³½«»á×Ô¶¯ÏÂÔØ£¬ÈçÏÂͼ£º
ÔÚ½øÐа²×°Ö®Ç°£¬ÎÒÃÇÏÈ°²×°JDK£¬²»ÓÃÈí¼þÔ´ÀïµÄJDK£¬Ç뿴֮ǰµÄÎÄÕ¡¾UbuntuÖÐJDKµÄ°²×°ÅäÖá¿¡£Ö®ºóÔÙ½øÐÐÖÐÎÄÖ§³ÖÉèÖã¬Õâ¶ÔÓÚNetbeansÄÜÏÔʾÖÐÎĺÜÖØÒª£¬²ÅÄܲ»³öÏÖÂÒÂë·½¿é£¬Ç뿴֮ǰµÄÎÄÕ¡¾UbuntuÖÐJAVAµÄÖÐÎÄÅäÖá¿¡£ok£¬Ö®ºóÔÚ“Öն˔ÊäÈëÒÔÏÂÃüÁîÔËÐа²×°£¬ÐèÒªÖ¸¶¨javahomeŶ
sudo sh netbeans-6.7-ml-cpp-linux.sh --javahome jdk1.6.0_16
Èô֮ǰJAVAµÄÉèÖÃÎÞÎóµÄ»°£¬Æô¶¯NetbeansÕâ¸öIDE½«²»»á³öÏÖÂÒÂë·½¿é£¬ÈçÏÂͼ£º
ÒòΪÎÒÃÇÏÂÔصÄÒѾÊÇ´øC/C++²å¼þµÄ°æ±¾£¬½ÓÏÂÀ´Òª¿ÉÒÔÉèÖñàÒëÆ÷¡£NetBeans C/C++ Ä£¿éÐèҪʹÓà C ±àÒëÆ÷¡¢C++ ±àÒëÆ÷¡¢make ʵÓóÌÐòºÍ gdb µ÷ÊÔÆ÷¡£NetbeansÉϵÄÎĵµÓëÖ§³Ö˵Ã÷£ºÔÚ Linux ƽ̨ÖУ¬Äú¿ÉÒÔʹÓà GNU ¹¤¾ß»ò Sun Studio ¹¤¾ß¡£
ÕâÀïÎÒÑ¡ÔñGNU¹¤¾ß£¬ÔÚ“Öն˔ÏÂÊäÈëÒÔÏÂÃüÁî°²×°ÕâЩ¹¤¾ß
sudo apt-get install g ......
Ò»¡¢Ò»¸ö¾¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö£º
¡¡¡¡1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
¡¡¡¡2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐòÔ±ÊÖ¶¯ÉêÇëÒÔ¼°ÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøʱ¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽÀàËÆÓÚÁ´±í¡£
¡¡¡¡3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©£ºÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
¡¡¡¡4¡¢ÎÄ×Ö³£Á¿Çø£º³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
¡¡¡¡5¡¢³ÌÐò´úÂëÇø£º´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
¡¡¡¡ÏÂÃæµÄÀý×Ó¿ÉÒÔÍêȫչʾ²»Í¬µÄ±äÁ¿ËùÕ¼µÄÄÚ´æÇøÓò£º
¡¡¡¡//main.cpp
¡¡¡¡int a = 0; È«¾Ö³õʼ»¯Çø
¡¡¡¡char *p1; È«¾Öδ³õʼ»¯Çø
¡¡¡¡main()
¡¡¡¡{
¡¡¡¡int b; //Õ»ÖÐ
¡¡¡¡char s[] = "abc"; //Õ»ÖÐ
¡¡¡¡char *p2; //Õ»ÖÐ
¡¡¡¡char *p3 = "123456"; //123456\0ÔÚ³£Á¿Çø£¬p3ÔÚÕ»ÉÏ
¡¡¡¡static int c =0£» //È«¾Ö£¨¾²Ì¬£©³õʼ»¯Çø
¡¡¡¡//Ò ......
Ò»¡¢Ò»¸ö¾¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö£º
¡¡¡¡1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
¡¡¡¡2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐòÔ±ÊÖ¶¯ÉêÇëÒÔ¼°ÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøʱ¿ÉÄÜÓÉOS»ØÊÕ ¡£×¢ÒâËüÓëÊý¾Ý½á¹¹ÖеĶÑÊÇÁ½»ØÊ£¬·ÖÅ䷽ʽÀàËÆÓÚÁ´±í¡£
¡¡¡¡3¡¢È«¾ÖÇø£¨¾²Ì¬Çø£©£¨static£©£ºÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬ δ³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
¡¡¡¡4¡¢ÎÄ×Ö³£Á¿Çø£º³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ¡£ ³ÌÐò½áÊøºóÓÉϵͳÊͷſռ䡣
¡¡¡¡5¡¢³ÌÐò´úÂëÇø£º´æ·Åº¯ÊýÌåµÄ¶þ½øÖÆ´úÂë¡£
¡¡¡¡ÏÂÃæµÄÀý×Ó¿ÉÒÔÍêȫչʾ²»Í¬µÄ±äÁ¿ËùÕ¼µÄÄÚ´æÇøÓò£º
¡¡¡¡//main.cpp
¡¡¡¡int a = 0; È«¾Ö³õʼ»¯Çø
¡¡¡¡char *p1; È«¾Öδ³õʼ»¯Çø
¡¡¡¡main()
¡¡¡¡{
¡¡¡¡int b; //Õ»ÖÐ
¡¡¡¡char s[] = "abc"; //Õ»ÖÐ
¡¡¡¡char *p2; //Õ»ÖÐ
¡¡¡¡char *p3 = "123456"; //123456\0ÔÚ³£Á¿Çø£¬p3ÔÚÕ»ÉÏ
¡¡¡¡static int c =0£» //È«¾Ö£¨¾²Ì¬£©³õʼ»¯Çø
¡¡¡¡//Ò ......
ÔÚʹÓÃCÓïÑÔ±àд´óÐ͹¤³ÌʱҪÓõ½ÃæÏò¶ÔÏóÓïÑÔÖеÄһЩÌØÐÔ£¨ÄÚºËÖÐijЩ²¿·Ö¾ÍÓ¦ÓÃÁËÕâЩÌØÐÔ£©¡£CÓïÑÔÊÇ»ùÓÚÎļþµÄÀ࣬static¹Ø¼ü×ÖÉùÃ÷˽ÓÐÊý¾Ý³ÉÔ±£¬¹«ÓÐÊý¾Ý³ÉÔ±±ØÐ붨Ò嵽ͷÎļþ£¬»òÓÉÆäËüÎļþʹÓÃextern¹Ø¼ü×ÖÉùÃ÷À´Ê¹Óᣵ«ºóÕßÒýÓùØϵ²»ÇåÎú¡£Í·Îļþ¾Í³ÉÁ˹«ÓÐÊý¾Ý³ÉÔ±ÉùÃ÷µÄµØ·½¡£
Í·ÎļþÖÐÓ¦¸Ã°üº¬ÒÔϼ°·½ÃæÄÚÈÝ£º
Í·ÎļþÖÐÐèÒªÒýÓõÄÆäËüÍ·Îļþ
ÄÚ²¿Íⲿ¶¼ÒªÊ¹Óõ½µÄºê
ÄÚ²¿Íⲿ¶¼ÒªÊ¹Óõ½µÄÊý¾Ý½á¹¹
Ìṩ¸øÍⲿµ÷Óõĺ¯Êý
ÁíÍ⻹ÓÐһЩ½öÔÚÄÚ²¿Ê¹ÓõĺêÒªÉùÃ÷ÔÚËü¶ÔÓ¦µÄÍ·ÎļþÖУ¬ÕâЩºêÒ»°ãÊÇÔÚδÀ´°æ±¾ÖпÉÄܱ»Ð޸ĵģ¬½öΪÁ˱ãÓÚÐÞ¸Ä ......
C×Ö·û´®³¤¶È¶¨Òå¹æ·¶
£¨×ªÔØÇë×¢Ã÷À´Ô´ÓÚ½ðÇìµÄרÀ¸£©
ÒòΪ×ÜÊǼûµ½C×Ö·û´®³¤¶ÈÏà¹ØµÄ´íÎó, ËùÓж¨¸ö¹æ·¶³öÀ´, ÓÐÀûÓÚ¼õÉÙ´íÎó.
¹Ø¼üÔÚÓÚC×Ö·û´®Óиö½áβ0, ´¦ÀíʱÐèҪעÒâ.
¶¨Òå×Ö·û´®³¤¶ÈÓÐÁ½ÖÖ·½Ê½, Ò»ÖÖÊÇÓÃ×Ö·û´®µÄ´óС, Ò»ÖÖÊÇ×Ö·û´®µÄ³¤¶È.
×Ö·û´®µÄ´óС¼´ÄÚ´æ¿Õ¼äµÄ´óС, ¶ø´®³¤¶È¼Ó1²ÅÊÇËùÐè¿Õ¼ä.
Àý “hello”¹²5¸ö×Ö·û£¬ÔÚÄÚ´æÕ¼6¸ö×Ö½Ú ×Ö·û´®³¤¶È5
Ò²¾ÍÊÇ˵sizeof()ºÍstrlen()µÄÇø±ð¡£
ÕýÈ·:
char str[MAX_SIZE];
char str[MAX_LEN + 1];
´íÎó:
char str[MAX_SIZE + 1];
char str[MAX_LEN];
Èçstrncpy()Ö®ÀàµÄº¯Êý´¦Àí×Ö·û´®Ê±, Èç¹ûҪʡÂÔ½áβ0ʱ, Ó¦ÈçÏÂ:
strncpy(dst, src, MAX_LEN);
»ò
strncpy(dst, src, MAX_SIZE - 1); ......