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µÄº¯ÊýÔÐÎÖÐÄܽÓÄɵÄÁ½¸ö²ÎÊ
Ïà¹ØÎĵµ£º
CµÄËÄÖÖ´æ´¢ÀàÏÞ¶¨·û£º
extern:Íⲿ±äÁ¿
static £º¾²Ì¬
register£º´æ´¢Æ÷
auto£º×Ô¶¯¡¡
¾²Ì¬¾Ö²¿±äÁ¿£º
´æ´¢ÇøºÍÈ«¾Ö±äÁ¿ÊÇÒ»ÑùµÄ¡£¾²Ì¬¾Ö²¿ºÍÈ«¾Ö±äÁ¿¼äµÄÖ÷񻂿±ðÊÇ£º¾²Ì¬¾Ö²¿±äÁ¿½ö¶ÔËüÔÚÆäÖÐÉùÃ÷µÄ¿éÊÇ¿ÉÖªµÄ¡£
¾²Ì¬È«¾Ö±äÁ¿£º
¸æËß±àÒëÆ÷´´½¨Ò»¸ö½öÔÚÉùÃ÷ËüµÄÎļþÖпÉÖªµÄÈ«¾Ö±äÁ¿¡£ÕâÒâζ×Å£º¼´Ê¹±äÁ¿Ê ......
Ôø¾Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) ) [10];ÕâÑùµÄ±äÁ¿ÉùÃ÷Â𣿱¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++ÉùÃ÷¡£
¡¡¡¡ÎÒÃǽ«´ÓÿÌì¶¼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconstÐÞÊηûºÍtypedef£¬»¹Óк¯ÊýÖ¸Õ룬×îºó½éÉÜÒ»¸öÄܹ»ÈÃÄã׼ȷµØÀí½âÈκÎC/C++ÉùÃ÷µÄ&ld ......
Q:ʲôÊÇC·ç¸ñת»»£¿Ê²Ã´ÊÇstatic_cast, dynamic_cast ÒÔ¼° reinterpret_cast£¿Çø±ðÊÇʲô£¿ÎªÊ²Ã´Òª×¢Ò⣿
A:ת»»µÄº¬ÒåÊÇͨ¹ý¸Ä±äÒ»¸ö±äÁ¿µÄÀàÐÍΪ±ðµÄÀàÐÍ´Ó¶ø¸Ä±ä¸Ã±äÁ¿µÄ±íʾ·½Ê½¡£ÎªÁËÀàÐÍת»»Ò»¸ö¼òµ¥¶ÔÏóΪÁíÒ»¸ö¶ÔÏóÄã»áʹÓô«Í³µÄÀàÐÍת»»²Ù×÷·û¡£±ÈÈ磬ΪÁËת»»Ò»¸öÀàÐÍΪdouboleµÄ¸¡µãÊýµÄÖ¸Õëµ½ÕûÐÍ£º
......
1£®ÒÑÖªstrcpy º¯ÊýµÄÔÐÍÊÇ£º
char *strcpy(char *strDest, const char *strSrc);
ÆäÖÐstrDest ÊÇÄ¿µÄ×Ö·û´®£¬strSrc ÊÇÔ´×Ö·û´®¡£²»µ÷ÓÃC++/C µÄ×Ö·û´®¿âº¯Êý£¬Çë±àдº¯Êý strcpy
´ð°¸£º
char *strcpy(char *strDest, const char *strSrc)
{
if ( strDest == NULL || strSrc == NULL)
return NULL ;
if ( strDest ......