²é¿´: 1490  |  »Ø¸´: 9
±¾Ìû²úÉú 1 ¸ö ³ÌÐòÇ¿Ìû £¬µã»÷ÕâÀï½øÐв鿴
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

snowboy9859

½ð³æ (ÕýʽдÊÖ)

[½»Á÷] ¡¾·ÖÏí¡¿¶ÑºÍÕ»µÄÇø±ð ÒÑÓÐ8È˲ÎÓë

Ò»¡¢Ô¤±¸ÖªÊ¶¡ª³ÌÐòµÄÄÚ´æ·ÖÅä
Ò»¸öÓÉ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£» È«¾Ö£¨¾²Ì¬£©³õʼ»¯Çø
p1 = (char *)malloc(10);
p2 = (char *)malloc(20);
·ÖÅäµÃÀ´µÃ10ºÍ20×Ö½ÚµÄÇøÓò¾ÍÔÚ¶ÑÇø¡£
strcpy(p1, "123456"; 123456\0·ÅÔÚ³£Á¿Çø£¬±àÒëÆ÷¿ÉÄܻὫËüÓëp3ËùÖ¸ÏòµÄ"123456"ÓÅ»¯³ÉÒ»¸öµØ·½¡£
}  



¶þ¡¢¶ÑºÍÕ»µÄÀíÂÛ֪ʶ
2.1ÉêÇ뷽ʽ
stack:
ÓÉϵͳ×Ô¶¯·ÖÅä¡£ ÀýÈ磬ÉùÃ÷ÔÚº¯ÊýÖÐÒ»¸ö¾Ö²¿±äÁ¿ int b; ϵͳ×Ô¶¯ÔÚÕ»ÖÐΪb¿ª±Ù¿Õ¼ä
heap:
ÐèÒª³ÌÐòÔ±×Ô¼ºÉêÇ룬²¢Ö¸Ã÷´óС£¬ÔÚcÖÐmallocº¯Êý
Èçp1 = (char *)malloc(10);
ÔÚC++ÖÐÓÃnewÔËËã·û
Èçp2 = (char *)malloc(10);
µ«ÊÇ×¢Òâp1¡¢p2±¾ÉíÊÇÔÚÕ»Öеġ£


2.2
ÉêÇëºóϵͳµÄÏìÓ¦
Õ»£ºÖ»ÒªÕ»µÄÊ£Óà¿Õ¼ä´óÓÚËùÉêÇë¿Õ¼ä£¬ÏµÍ³½«Îª³ÌÐòÌṩÄڴ棬·ñÔò½«±¨Òì³£ÌáʾջÒç³ö¡£
¶Ñ£ºÊ×ÏÈÓ¦¸ÃÖªµÀ²Ù×÷ϵͳÓÐÒ»¸ö¼Ç¼¿ÕÏÐÄÚ´æµØÖ·µÄÁ´±í£¬µ±ÏµÍ³ÊÕµ½³ÌÐòµÄÉêÇëʱ£¬
»á±éÀú¸ÃÁ´±í£¬Ñ°ÕÒµÚÒ»¸ö¿Õ¼ä´óÓÚËùÉêÇë¿Õ¼äµÄ¶Ñ½áµã£¬È»ºó½«¸Ã½áµã´Ó¿ÕÏнáµãÁ´±íÖÐɾ³ý£¬²¢½«¸Ã½áµãµÄ¿Õ¼ä·ÖÅ䏸³ÌÐò£¬ÁíÍ⣬¶ÔÓÚ´ó¶àÊýϵͳ£¬»áÔÚÕâ¿éÄÚ´æ¿Õ¼äÖеÄÊ×µØÖ·´¦¼Ç¼±¾´Î·ÖÅäµÄ´óС£¬ÕâÑù£¬´úÂëÖеÄdeleteÓï¾ä²ÅÄÜÕýÈ·µÄÊͷű¾ÄÚ´æ¿Õ¼ä¡£ÁíÍ⣬ÓÉÓÚÕÒµ½µÄ¶Ñ½áµãµÄ´óС²»Ò»¶¨ÕýºÃµÈÓÚÉêÇëµÄ´óС£¬ÏµÍ³»á×Ô¶¯µÄ½«¶àÓàµÄÄDz¿·ÖÖØÐ·ÅÈë¿ÕÏÐÁ´±íÖС£

2.3ÉêÇë´óСµÄÏÞÖÆ
Õ»£ºÔÚWindowsÏÂ,Õ»ÊÇÏòµÍµØÖ·À©Õ¹µÄÊý¾Ý½á¹¹£¬ÊÇÒ»¿éÁ¬ÐøµÄÄÚ´æµÄÇøÓò¡£Õâ¾ä»°µÄÒâ˼ÊÇÕ»¶¥µÄµØÖ·ºÍÕ»µÄ×î´óÈÝÁ¿ÊÇϵͳԤÏȹ涨ºÃµÄ£¬ÔÚWINDOWSÏ£¬Õ»µÄ´óСÊÇ2M£¨Ò²ÓеÄ˵ÊÇ1M£¬×ÜÖ®ÊÇÒ»¸ö±àÒëʱ¾ÍÈ·¶¨µÄ³£Êý£©£¬Èç¹ûÉêÇëµÄ¿Õ¼ä³¬¹ýÕ»µÄÊ£Óà¿Õ¼äʱ£¬½«Ìáʾoverflow¡£Òò´Ë£¬ÄÜ´ÓÕ»»ñµÃµÄ¿Õ¼ä½ÏС¡£
¶Ñ£º¶ÑÊÇÏò¸ßµØÖ·À©Õ¹µÄÊý¾Ý½á¹¹£¬ÊDz»Á¬ÐøµÄÄÚ´æÇøÓò¡£ÕâÊÇÓÉÓÚϵͳÊÇÓÃÁ´±íÀ´´æ´¢µÄ¿ÕÏÐÄÚ´æµØÖ·µÄ£¬×ÔÈ»ÊDz»Á¬ÐøµÄ£¬¶øÁ´±íµÄ±éÀú·½ÏòÊÇÓɵ͵ØÖ·Ïò¸ßµØÖ·¡£¶ÑµÄ´óСÊÜÏÞÓÚ¼ÆËã»úϵͳÖÐÓÐЧµÄÐéÄâÄÚ´æ¡£Óɴ˿ɼû£¬¶Ñ»ñµÃµÄ¿Õ¼ä±È½ÏÁé»î£¬Ò²±È½Ï´ó¡£


2.4ÉêÇëЧÂʵıȽϣº
Õ»ÓÉϵͳ×Ô¶¯·ÖÅ䣬ËٶȽϿ졣µ«³ÌÐòÔ±ÊÇÎÞ·¨¿ØÖƵġ£
¶ÑÊÇÓÉnew·ÖÅäµÄÄڴ棬һ°ãËٶȱȽÏÂý£¬¶øÇÒÈÝÒײúÉúÄÚ´æË鯬,²»¹ýÓÃÆðÀ´×î·½±ã.
ÁíÍ⣬ÔÚWINDOWSÏ£¬×îºÃµÄ·½Ê½ÊÇÓÃVirtualAlloc·ÖÅäÄڴ棬Ëû²»ÊÇÔÚ¶Ñ£¬Ò²²»ÊÇÔÚÕ»ÊÇÖ±½ÓÔÚ½ø³ÌµÄµØÖ·¿Õ¼äÖб£ÁôÒ»¿ìÄڴ棬ËäÈ»ÓÃÆðÀ´×î²»·½±ã¡£µ«ÊÇËٶȿ죬Ҳ×îÁé»î¡£

2.5¶ÑºÍÕ»ÖеĴ洢ÄÚÈÝ
Õ»£º ÔÚº¯Êýµ÷ÓÃʱ£¬µÚÒ»¸ö½øÕ»µÄÊÇÖ÷º¯ÊýÖкóµÄÏÂÒ»ÌõÖ¸Áº¯Êýµ÷ÓÃÓï¾äµÄÏÂÒ»Ìõ¿ÉÖ´ÐÐÓï¾ä£©µÄµØÖ·£¬È»ºóÊǺ¯ÊýµÄ¸÷¸ö²ÎÊý£¬ÔÚ´ó¶àÊýµÄC±àÒëÆ÷ÖУ¬²ÎÊýÊÇÓÉÓÒÍù×óÈëÕ»µÄ£¬È»ºóÊǺ¯ÊýÖеľֲ¿±äÁ¿¡£×¢Ò⾲̬±äÁ¿ÊDz»ÈëÕ»µÄ¡£
µ±±¾´Îº¯Êýµ÷ÓýáÊøºó£¬¾Ö²¿±äÁ¿ÏȳöÕ»£¬È»ºóÊDzÎÊý£¬×îºóÕ»¶¥Ö¸ÕëÖ¸Ïò×ʼ´æµÄµØÖ·£¬Ò²¾ÍÊÇÖ÷º¯ÊýÖеÄÏÂÒ»ÌõÖ¸Á³ÌÐòÓɸõã¼ÌÐøÔËÐС£
¶Ñ£ºÒ»°ãÊÇÔڶѵÄÍ·²¿ÓÃÒ»¸ö×Ö½Ú´æ·Å¶ÑµÄ´óС¡£¶ÑÖеľßÌåÄÚÈÝÓгÌÐòÔ±°²ÅÅ¡£

2.6´æÈ¡Ð§ÂʵıȽÏ

char s1[] = "aaaaaaaaaaaaaaa";
char *s2 = "bbbbbbbbbbbbbbbbb";
aaaaaaaaaaaÊÇÔÚÔËÐÐʱ¿Ì¸³ÖµµÄ£»
¶øbbbbbbbbbbbÊÇÔÚ±àÒëʱ¾ÍÈ·¶¨µÄ£»
µ«ÊÇ£¬ÔÚÒÔºóµÄ´æÈ¡ÖУ¬ÔÚÕ»ÉϵÄÊý×é±ÈÖ¸ÕëËùÖ¸ÏòµÄ×Ö·û´®(ÀýÈç¶Ñ)¿ì¡£
±ÈÈ磺
#include
void main()
{
char a = 1;
char c[] = "1234567890";
char *p ="1234567890";
a = c[1];
a = p[1];
return;
}
¶ÔÓ¦µÄ»ã±à´úÂë
10: a = c[1];
00401067 8A 4D F1 mov cl,byte ptr [ebp-0Fh]
0040106A 88 4D FC mov byte ptr [ebp-4],cl
11: a = p[1];
0040106D 8B 55 EC mov edx,dword ptr [ebp-14h]
00401070 8A 42 01 mov al,byte ptr [edx+1]
00401073 88 45 FC mov byte ptr [ebp-4],al
µÚÒ»ÖÖÔÚ¶Áȡʱֱ½Ó¾Í°Ñ×Ö·û´®ÖеÄÔªËØ¶Áµ½¼Ä´æÆ÷clÖУ¬¶øµÚ¶þÖÖÔòÒªÏȰÑÖ¸ÕëÖµ¶Áµ½edxÖУ¬ÔÚ¸ù¾Ýedx¶ÁÈ¡×Ö·û£¬ÏÔÈ»ÂýÁË¡£


2.7С½á£º
¶ÑºÍÕ»µÄÇø±ð¿ÉÒÔÓÃÈçϵıÈÓ÷À´¿´³ö£º
ʹÓÃÕ»¾ÍÏóÎÒÃÇÈ¥·¹¹ÝÀï³Ô·¹£¬Ö»¹Üµã²Ë£¨·¢³öÉêÇ룩¡¢¸¶Ç®¡¢ºÍ³Ô£¨Ê¹Óã©£¬³Ô±¥Á˾Í×ߣ¬²»±ØÀí»áÇвˡ¢Ï´²ËµÈ×¼±¸¹¤×÷ºÍÏ´Í롢ˢ¹øµÈɨβ¹¤×÷£¬ËûµÄºÃ´¦ÊÇ¿ì½Ý£¬µ«ÊÇ×ÔÓɶÈС¡£
ʹÓöѾÍÏóÊÇ×Ô¼º¶¯ÊÖ×öϲ»¶³ÔµÄ²ËëÈ£¬±È½ÏÂé·³£¬µ«ÊDZȽϷûºÏ×Ô¼ºµÄ¿Ú棬¶øÇÒ×ÔÓɶȴó¡£
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

åÐÒ£×ÔÔÚµÄÒ¯£¡
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

cjs520

гæ (ÕýʽдÊÖ)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
ѧϰÖУ¡£¡£¡£¡£¡
ÔÚÉϺ£´òÆ´¼±ÐèÓÃÇ®µÄÅóÓÑ£¬¿ÉÒÔÁªÏµ13764084745ºú¾­Àí
9Â¥2010-07-24 07:34:26
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 10 ¸ö»Ø´ð

tjyl

½ð³æ (ÕýʽдÊÖ)

¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
resonant(½ð±Ò+1):»¶Ó­²ÎÓëÌÖÂÛ¡£ 2010-05-28 21:59:40
ÓÃalloca¿ÉÒÔ´ÓÕ»¿Õ¼ä·ÖÅäÄÚ´æ
3Â¥2010-05-28 14:36:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wanglifei007

½ð³æ (ÕýʽдÊÖ)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
Õâ¸öºÜºÃÇø·Ö£¬²»¹ýÎÒ»¹Ã»Óûã±àÀ´Ñо¿¹ý£¬Ð»Ð»Â¥Ö÷ÁË¡£
4Â¥2010-05-29 12:07:51
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

holmescn

½ð³æ (ÕýʽдÊÖ)

¡ï ¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
resonant(½ð±Ò+2):¸ÐлÌṩ£º-£© 2010-06-01 15:02:34
ÓÐÒ»µãÎÒ¸öÈËÈÏΪ²»Ì«¶Ô¡£ÄǾÍÊÇstack±Èheap¿ì¡£LZµÄ·ÖÎöÊÇҪ˵Ã÷£¬heapÓÐÉêÇëµÄ¹ý³Ì£¬Õâ¸ö¹ý³ÌÕ¼ÁËʱ¼ä¡£ËùÒÔheapÂý¡£µ«ÎÒÈÏΪÕâÊÇstackÔÚ×÷±×¡£ÒòΪstackµÄ¿Õ¼äÊÇÒѾ­×Ô¶¯·ÖÅäºÃÁ˵ģ¬ËùÒÔ£¬Èç¹ûÈ¥³ýÁËÕâ¸ö»·½Ú£¬Á¬¸öµÄËÙ¶ÈÓ¦¸Ã²»ÏàÉÏÏ¡££¨ÎÒûÓÐʵ¼Ê²âÊÔ£©ËùÒÔ£¬Èç¹ûÎÒÃÇÔ¤ÏÈ·ÖÅäÒ»¿éÄڴ棬µ±ÐèÒªÓÃheapµÄʱºò£¬´ÓÕâ¸öÒѾ­·ÖÅäºÃµÄÄÚ´æÀï»®·ÖÒ»¿é³öÀ´£¬ÄÇô£¬½á¹ûÓÖÈçºÎÄØ£¿

ÖÁÓÚ×îºóµÄ»ã±à·ÖÎö£¬ÎÒÏë¿ÉÄÜÊÇÒòΪ´úÂëûÓÐÓÅ»¯µÄ½á¹û¡£Ôì³ÉÖ¸Õë±äÁ¿ÓÐÒ»¸ö¼ÓÔØµÄ¹ý³Ì¡£µ«Õâ²»Ó¦¸ÃÊÇheapÂýµÄÔ­Òò¡£
5Â¥2010-06-01 14:28:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 269Çóµ÷¼Á +4 ÎÒÏë¶ÁÑÐ11 2026-03-23 4/200 2026-03-23 21:25 by pswait
[¿¼ÑÐ] ¹¤¿Æ0856Çóµ÷¼Á +5 ãåÎö͡͡ 2026-03-21 5/250 2026-03-23 17:56 by º£ÉªÞ±-
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤¿¼Ñе÷¼Á +4 ‹üÈA 2026-03-22 4/200 2026-03-23 16:13 by Ò»ÐݸçFU
[¿¼ÑÐ] 08¹¤Ñ§µ÷¼Á +7 Óû§573181 2026-03-20 11/550 2026-03-23 15:47 by ÎÒ°®Ñ§Ï°Ñ§Ï°Ê¹Î
[¿¼ÑÐ] 276Çóµ÷¼Á¡£ÓаëÄêµç³ØºÍ°ëÄê¸ß·Ö×Óʵϰ¾­Àú +8 ²ÄÁÏѧ257Çóµ÷¼Á 2026-03-23 9/450 2026-03-23 13:01 by ztnimte
[¿¼ÑÐ] 307Çóµ÷¼Á +3 ÓàÒâÇä 2026-03-21 3/150 2026-03-23 10:32 by Iveryant
[¿¼ÑÐ] 284Çóµ÷¼Á +6 Zhao anqi 2026-03-22 6/300 2026-03-23 09:23 by king123£¡
[¿¼ÑÐ] ʯºÓ×Ó´óѧ£¨211¡¢Ë«Ò»Á÷£©Ë¶²©Ñо¿Éú³¤ÆÚÕÐÉú¹«¸æ +3 Àî×ÓÄ¿ 2026-03-22 3/150 2026-03-22 21:01 by ÔõôÊÍ»³
[¿¼ÑÐ] ¿¼Ñе÷¼Á +4 À´ºÃÔËÀ´À´À´ 2026-03-21 4/200 2026-03-22 12:15 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] 286·ÖÈ˹¤ÖÇÄÜרҵÇëÇóµ÷¼ÁÔ¸Òâ¿ç¿¼£¡ +4 lemonzzn 2026-03-17 8/400 2026-03-21 22:49 by lemonzzn
[¿¼ÑÐ] 299Çóµ÷¼Á +4 ijijijijλ 2026-03-21 4/200 2026-03-21 16:30 by barlinike
[¿¼ÑÐ] 0805²ÄÁÏ320Çóµ÷¼Á +3 ÉÎïÓï 2026-03-20 3/150 2026-03-21 15:46 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 265Çóµ÷¼Á +12 ÁºÁºÐ£Ð£ 2026-03-19 14/700 2026-03-21 13:38 by lature00
[¿¼ÑÐ] ¶þ±¾¿ç¿¼Ö£´ó²ÄÁÏ306Ó¢Ò»Êý¶þ +3 z1z2z3879 2026-03-17 3/150 2026-03-21 02:29 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÄÏʦ´ó 070300£¨»¯Ñ§£©304·ÖÇóµ÷¼Á +3 0703ÎäÜ·»ÛÑ©304 2026-03-18 3/150 2026-03-21 00:48 by JourneyLucky
[¿¼ÑÐ] 308Çóµ÷¼Á +3 °¢½ã°¢½ã¼Ò°¡ 2026-03-18 3/150 2026-03-20 23:24 by JourneyLucky
[¿¼ÑÐ] 317Çóµ÷¼Á +5 Éê×ÓÉêÉê 2026-03-19 9/450 2026-03-20 22:26 by JourneyLucky
[¿¼ÑÐ] Çóµ÷¼Á +3 eation27 2026-03-20 3/150 2026-03-20 19:32 by JourneyLucky
[¿¼ÑÐ] ²ÄÁÏ£¬·ÄÖ¯£¬ÉúÎ0856¡¢0710£©£¬»¯Ñ§ÕÐÉúÀ² +3 Eember. 2026-03-17 9/450 2026-03-18 10:28 by Eember.
[¿¼ÑÐ] ¿¼ÑÐÇóµ÷¼Á +3 éÙËÌ. 2026-03-17 4/200 2026-03-17 21:43 by ÓÐÖ»ÀêÅ«
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û