C/C++³ÌÐòÄÚ´æÖÐÊý¾Ý´æ´¢Çø·ÖÀà
ÔÚC/C++ÖУ¬ÄÚ´æÖÐÊý¾Ý´æ´¢·Ö³É4¸öÇø£¬·Ö±ðÊǶѡ¢Õ»¡¢È«¾Ö/¾²Ì¬´æ´¢ÇøºÍ³£Á¿´æ´¢Çø¡£
Õ»(stack)£¬¾ÍÊÇÄÇЩÓɱàÒëÆ÷ÔÚÐèÒªµÄʱºò·ÖÅ䣬ÔÚ²»ÐèÒªµÄʱºò×Ô¶¯Çå³ýµÄ±äÁ¿µÄ´æ´¢Çø¡£ÀïÃæµÄ±äÁ¿Í¨³£ÊǾֲ¿±äÁ¿¡¢º¯Êý²ÎÊýµÈ¡£
¶Ñ(heap)£¬Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ¡£
È«¾Ö/¾²Ì¬´æ´¢Çø£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿±»·ÖÅ䵽ͬһ¿éÄÚ´æÖУ¬ÔÚÒÔǰµÄCÓïÑÔÖУ¬È«¾Ö±äÁ¿ÓÖ·ÖΪ³õʼ»¯µÄ(DATA¶Î)ºÍδ³õʼ»¯µÄ(BSS¶Î)£¬ÔÚC++ÀïÃæÃ»ÓÐÕâ¸öÇø·ÖÁË£¬ËüÃǹ²Í¬Õ¼ÓÃͬһ¿éÄÚ´æÇø¡£
³£Á¿´æ´¢Çø£¬³£Á¿×Ö·û´®¾ÍÊÇ·ÅÔÚÕâÀïµÄ£¬²»ÔÊÐíÐÞ¸Ä(ͨ¹ý·ÇÕýµ±ÊÖ¶ÎÒ²¿ÉÒÔÐ޸쬶øÇÒ·½·¨ºÜ¶à)£¬³ÌÐò½áÊøºóÓÉϵͳÊÍ·Å¡£
|----------------------|
| ÄÚºËÐéÄâ´æ´¢Æ÷ |
|----------------------|
| Óû§Õ»(Statk) |
|----------------------|
| | |
| \ / |
| |
| / \ |
| | |
|----------------------|
| ¶Ñ(Heap) |
|----------------------|
| δ³õʼ»¯(BSS) |
|----------------------|
| ³õʼ»¯(Data) |
|----------------------|
| ÕýÎĶÎ(Text |
|-----
Ïà¹ØÎĵµ£º
ΪÁËʵÏÖÁ½¸öÊý×Ö½øÐн»»»£¬ÎÒÃÇͨ³£¿ÉÒÔÀûÓÃλÔËËãÀ´ÊµÏÖ
C++³ÌÐò swap(int a ,int b){a^=b^=a^=b;}
JAVA³ÌÐò swap(int a, int b){ a^=b;b^=a;a^=b; }»òÕß{ b^=(a^=b) ; a^=b;}
Èç¹ûJAVAÓÃC++µÄʵÏÖ·½Ê½Ôò»áµÃµ½ bµÃµ½ÁËaµÄÖµ£¬µ«ÊÇaÏÖÔÚµÄֵȴ² ......
Delphi Óë C/C++ Êý¾ÝÀàÐͶÔÕÕ±í
DelphiÊý¾ÝÀàÐÍC/C++
ShorInt
8λÓзûºÅÕûÊý
char
Byte
8λÎÞ·ûºÅÕûÊý
BYTE,unsigned short
SmallInt
16λÓзûºÅÕûÊý
short
Word
16λÎÞ·ûºÅÕûÊý
unsigned short
Integer,LongInt
32λÓзûºÅÕûÊý
int,long
Cardinal,LongWord/DWORD
32λÎÞ·ûºÅÕûÊý
unsigned long
Int6 ......
1.ÉèÓÐÒÔÏÂ˵Ã÷ºÍ¶¨Ò壺
typedef union {long i; int k[5]; char c;} DATE;
struct data { int cat; DATE cow; double dog;} too;
DATE max;
ÔòÓï¾ä printf("%d",sizeof(struct date)+sizeof(max));µÄÖ´Ðнá¹ûÊÇ£º £¿£¿£¿
´ð£ºDATEÊÇÒ»¸öunion, ±äÁ¿¹«Óÿռä. ÀïÃæ×î´óµÄ±äÁ¿ÀàÐÍÊÇint[5], Õ¼ÓÃ20¸ö×Ö½Ú. ËùÒÔËüµÄ´óС ......
Ò»¡¢¸ö¾¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö:
1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
¡¡¡¡2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐ ......
¡¾³ÌÐò1¡¿
ÌâÄ¿£ºÓÐ1¡¢2¡¢3¡¢4¸öÊý×Ö£¬ÄÜ×é³É¶àÉÙ¸ö»¥²»ÏàͬÇÒÎÞÖØ¸´Êý×ÖµÄÈýλÊý£¿¶¼ÊǶàÉÙ
£¿
1.³ÌÐò·ÖÎö£º¿ÉÌîÔÚ°Ùλ¡¢Ê®Î»¡¢¸öλµÄÊý×Ö¶¼ÊÇ1¡¢2¡¢3¡¢4¡£×é³ÉËùÓеÄÅÅÁкóÔÙÈ¥
¡¡¡¡¡¡¡¡¡¡¡¡µô²»Âú×ãÌõ¼þµÄÅÅÁС£
2.³ÌÐòÔ´´úÂ룺
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++)¡¡¡¡¡¡¡¡£¯*ÒÔÏ ......