C/C++Êý×éÃûÓëÖ¸ÕëÇø±ðÉîÈë̽Ë÷
ÒýÑÔ
¡¡¡¡Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚCÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øѧÉú½²½â£º"Êý×éÃû¾ÍÊÇÖ¸Õë"¡£ºÜÐÒÔË£¬ÎҵĴóѧÀÏʦ¾ÍÊÇÆäÖÐÖ®Ò»¡£Ê±ÖÁ½ñÈÕ£¬ÎÒÈÕ¸´Ò»ÈյؽøÐÐ×ÅC/C++ÏîÄ¿µÄ¿ª·¢£¬¶øÉí±ß»¹Ò»Ö±³äÂúÕâÑùµÄ³ÌÐòÔ±£¬ËûÃDZ£Áô×Å"Êý×éÃû¾ÍÊÇÖ¸Õë"µÄÎó½â¡£
¡¡¡¡Ïë±ØÕâÖÖÎó½âµÄ¸ùÔ´ÔÚÓÚ¹úÄÚijÖøÃûµÄC³ÌÐòÉè¼Æ½Ì³Ì¡£Èç¹ûÕâƪÎÄÕÂÄܹ»¾ÀÕýÐí¶àÖйú³ÌÐòÔ±¶ÔÊý×éÃûºÍÖ¸ÕëµÄÎó½â£¬±ÊÕ߾Ͳ»ÉõÐÀοÁË¡£½è´ËÎÄ£¬±ÊÕßÕ¾ÔÚÎÞÊý¶Ô֪ʶÈç¼¢ËƿʵÄÖйú³ÌÐòÔ±Ö®ÖУ¬ÉîÉî¼ÄÏ£ÍûÓÚ¹úÄڵļÆËã»úͼÊé±àдÕßÃÇ£¬ÄÜÒÔ"ÉîÈë̽Ë÷"µÄ˼ά·½Ê½ºÍ¾«ÒæÇ󾫵ÄÈÏÕæ̬¶ÈÀ´¶Ô´ýͼÊé±àд¹¤×÷£¬µ«Ô¸ÊÐÃæÉ϶àһЩÈÚÈë×÷Õß˼¿¼½á¾§µÄÐÄѪ֮×÷£¡
¡¡¡¡Ä§»ÃÊý×éÃû
¡¡¡¡Çë¿´³ÌÐò£¨±¾ÎijÌÐòÔÚWIN32ƽ̨ϱàÒ룩£º
1. #include <iostream.h>
2. int main(int argc, char* argv[])
3. {
4. ¡¡char str[10];
5. ¡¡char *pStr = str;
6. ¡¡cout << sizeof(str) << endl;
7. ¡¡cout << sizeof(pStr) << endl;
8. ¡¡return 0;
9. }
¡¡¡¡1¡¢Êý×éÃû²»ÊÇÖ¸Õë
¡¡¡¡ÎÒÃÇÏÈÀ´ÍÆ·"Êý×éÃû¾ÍÊÇÖ¸Õë"µÄ˵·¨£¬Ó÷´Ö¤·¨¡£
¡¡¡¡Ö¤Ã÷¡¡Êý×éÃû²»ÊÇÖ¸Õë
¡¡¡¡¼ÙÉ裺Êý×éÃûÊÇÖ¸Õ룻
¡¡¡¡Ôò£ºpStrºÍstr¶¼ÊÇÖ¸Õ룻
¡¡¡¡ÒòΪ£ºÔÚWIN32ƽ̨Ï£¬Ö¸Õ볤¶ÈΪ4£»
¡¡¡¡ËùÒÔ£ºµÚ6Ðк͵Ú7ÐеÄÊä³ö¶¼Ó¦¸ÃΪ4£»
¡¡¡¡Êµ¼ÊÇé¿öÊÇ£ºµÚ6ÐÐÊä³ö10£¬µÚ7ÐÐÊä³ö4£»
¡¡¡¡ËùÒÔ£º¼ÙÉè²»³ÉÁ¢£¬Êý×éÃû²»ÊÇÖ¸Õë
¡¡¡¡2¡¢Êý×éÃûÉñËÆÖ¸Õë
¡¡¡¡ÉÏÃæÎÒÃÇÒѾ֤Ã÷ÁËÊý×éÃûµÄÈ·²»ÊÇÖ¸Õ룬µ«ÊÇÎÒÃÇÔÙ¿´¿´³ÌÐòµÄµÚ5ÐС£¸ÃÐгÌÐò½«Êý×éÃûÖ±½Ó¸³Öµ¸øÖ¸Õ룬ÕâÏÔµÃÊý×éÃûÓÖµÄÈ·ÊǸöÖ¸Õ룡
¡¡¡¡ÎÒÃÇ»¹¿ÉÒÔ·¢ÏÖÊý×éÃûÏÔµÃÏñÖ¸ÕëµÄÀý×Ó£º
1. #include <string.h>
2. #include <iostream.h>
3. int main(int argc, char* argv[])
4. {
5. ¡¡char str1[10] = "I Love U";
6. ¡¡char str2[10];
7. ¡¡strcpy(str2,str1);
8. ¡¡cout << "string array 1: " << str1 << endl;
9. ¡¡cout << "string array 2: " << str2 << endl;
10.¡¡ return 0;
11. }
¡¡¡¡±ê×¼C¿âº¯ÊýstrcpyµÄº¯ÊýÔÐÎÖÐÄܽÓÄɵÄÁ½¸ö²ÎÊý¶¼ÎªcharÐÍÖ¸Õ룬¶øÎÒÃÇÔÚµ÷ÓÃÖд«¸øËüµÄÈ´ÊÇÁ½¸öÊý×éÃû£¡º¯ÊýÊä³ö£º
string array 1: I Love U
string array 2
Ïà¹ØÎĵµ£º
ΪÁËʵÏÖÁ½¸öÊý×Ö½øÐн»»»£¬ÎÒÃÇͨ³£¿ÉÒÔÀûÓÃλÔËËãÀ´ÊµÏÖ
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ÏÖÔÚµÄֵȴ² ......
Ò»£¬²»Í¬¹Ø¼ü×Ö£¬ÏµÍ³Ñ¹Õ»·½Ê½
1£¬Èç¹ûº¯ÊýfuncÊÇ__cdecl(VCϵÄĬÈϵ÷Ó÷½Ê½)£¬µ÷ÓÃʱÇé¿öÈçÏÂ
int main()
{
//²ÎÊý´ÓÓÒµ½×óѹջ
push 4
push 3
push 2
push 1
call func
add esp 0x10 //µ÷ÓÃÕ߻ָ´¶ÑÕ»Ö¸Õëesp£¬4¸ö²ÎÊýµÄ´óСÊÇ0x10(4x4)
}
Cµ÷ÓÃÔ¼¶¨£¨¼´ÓÃ__cdecl¹Ø¼ü×Ö˵Ã÷£©°´´ÓÓÒÖÁ×óµÄ˳Ðòѹ² ......
1.¶¯Ì¬»ñµÃÄÚ´æµÄ´úÂë:
void GetMemory(char **p, int num)
{
*p = (char *)malloc(sizeof(char) * num);
}
char* GetMemory2(int num)
{
char* p = (char *)malloc(sizeof(char) * num);
return p;
}
------------------------------------------
´íÎóµÄ´úÂë:
void Ge ......