Ö¸Õë¼¼ÇÉ֮ȡֵ
ÔÚѧϰCÓïÑÔʱ£¬Ö¸Õë¿ÉνÊÇÒ»¸ö½ÏÄÑÀí½âµÄµØ·½£¬ÎªÁËÈÃͬѧÃǶÔÖ¸ÕëÓиü½øÒ»²½µÄÀí½â£¬ÕâÀï´«ÊÚ¸÷λͬѧ¹ØÓÚͨ¹ýÖ¸ÕëȡֵµÄ¼¼ÇÉ
1. ÏÈ˼¿¼ÒÔϵÄÖ¸Õë±äÁ¿£¬È¡Öµºó»áÊǶàÉÙ
char temp[20]={11,22,33,44,55,66,77,88,99};
char *p1 = temp;
printf("*p1=%d\n", *p1);// ÏëÏë¿´»áÊǶàÉÙÄØ£¿
¶ÔÓÚÉÏÀýÌâÖеĽá¹ûÏë±ØºÜ¶àͬѧ֪µÀ´ð°¸£¬Îª11£¨Äã¼ÆËã¶ÔÁËô£©
ÔÛÃǼòµ¥µÄ·ÖÎöһϣºÒòΪp1ÊÇÒ»¸öÖ¸Õë±äÁ¿£¬¼´¿ÉÒÔ´æ´¢Ö¸Õ루¼´µØÖ·£©£¬¶ø³ÌÐòÖаÑtemp¸³Öµ¸øÁËp1£¬ÓÖÒòΪtempΪcharÀàÐÍÊý×éµÄÃû×Ö£¬¼´ÊÇϱêΪ0µÄÔªËØµÄµØÖ·£¬ËùÒÔp1Õâ¸öÖ¸Õë±äÁ¿´æ´¢µÄÊÇtemp[0]Õâ¸öÔªËØµÄµØÖ·£¬*p1µÃµ½µÄ½á¹ûΪ11£¬¾Í²»×ãÎªÆæÁË
2. ½Ó×ÅÉÏÃæµÄ´úÂ룬ÔÙÌí¼ÓÈçÏ´úÂ룬
printf("*(p1+1)=%d\n", *(p1+1));
´Ëʱ³ÌÐò»áÊä³ö¶àÉÙÄØ£¿
´ð°¸Îª22
ͬÑù½ÓÏÂÀ´ÔÛÃÇ·ÖÎöһϣºÒòΪp1±£´æÁËtemp[0]Õâ¸öÔªËØµÄµØÖ·£¬¼´p1Ö¸ÏòÁËtemp[0]£¬¶øp1+1µÄ½á¹û¿ÉÒÔÀí½âΪtemp[1]µÄµØÖ·£¬ËùÒÔ*(p1+1)¾ÍÊÇÈ¡µÄtemp[1]µÄÖµ£¬¼´22
3. £¨Ô¤¸æ£º½ÓÏÂÀ´µÄÊÇÖØÍ·Ï·£©
½Ó×ÅÉÏÃæµÄ´úÂ룬ÔÙÌí¼ÓÈçÏ´úÂ룺
printf("*(char *)((short *)p1+1)=%d\n", *(char *) ((short *)p1+1));
´Ëʱ³ÌÐò»áÊä³ö¶àÉÙÄØ£¿
´ð°¸Îª33
°¡£¿£¿£¿33£¿£¿£¿ÄãÊDz»ÊÇÒ²ÓÐÕâÑùµÄ¸Ð¾õ£¬Ôõô¼ÆËãµÄÄØ£¿
ÏÂÃæÔÛÃÇ×Ðϸ·ÖÎöÒ»ÏÂÕâ¸öֵΪʲô»áÊÇ33
<1> p1 ÔÚ¶¨ÒåµÄʱºòÒѾ½øÐÐÁ˸³Öµ£¬¼´³õʼ»¯Îª temp[0]ÔªËØµÄµØÖ·
<2>¸ù¾ÝÓÅÏȼ¶ÒÔ¼°½áºÏÐÔ£¬¶ÔÓ¦±í´ïʽ*(char *) ((short *)p1+1)µÄ¼ÆËãÏȺó˳Ϊ£ºÏȶÔp1½øÐÐÁÙʱÐÔµÄÇ¿ÖÆÀàÐÍת»»£¬¼´´Ëʱp1Õâ¸öÖ¸Õë±äÁ¿µÄÀàÐÍÒѾ±ä³ÉÁËshort*ÀàÐÍ£»µ«ÊÇҪעÒâ´Ëʱp1±£´æµÄ»¹ÊÇtemp[0]ÔªËØµÄµØÖ·£»½ÓÏÂÀ´Òª¶Ôp1½øÐÐ+1ÁË£¬´Ëʱµ½µ×Ö¸ÏòÁËÄÄÀïÄØ£¿
¸æËß´ó¼ÒÒ»¸ö¼¼ÇÉ£º¶ÔÒ»¸öÖ¸Õë±äÁ¿+1µÄʱºò£¬Ö¸Õëµ½µ×ÏòºóÆ«ÒÆ¶àÉÙ¸ö×Ö½Ú£¬Òª¸ù¾ÝÖ¸Õë±äÁ¿µ±Ç°µÄÀàÐͶø¶¨£¬Èç¹ûÊÇchar*µÄÄÇô+1»áÏòºóÆ«ÒÆ1¸ö×Ö½Ú£¬Èç¹ûÊÇshort *ÄÇô+1»áÏòºóÆ«ÒÆ2¸ö×Ö½Ú£¬Èç¹ûÊÇint* ÄÇô¾Í»áÏòºóÆ«ÒÆ4¸ö×Ö½Ú£¨¾ßÌåµÄÒª¸ù¾Ý²»Í¬µÄ±àÒëÆ÷¶ø¶¨£©£»
¸ù¾Ý¸Õ¸Õ¸æËß´ó¼ÒµÄС¼¼ÇÉ£¬ÊÔÊÔ¿´ (short *)p1+1»áÖ¸ÏòÄĸöÔªËØÄØ£¿
¶ÔÁË£¬´Ëʱp1Ö¸ÏòÁËtemp[2]Õâ¸öÔªËØ£¬×¢Ò⣬ÒòΪ´Ëʱp1µÄÀàÐÍÒѾת»»Îªshort*£¬ËùÒÔÈç¹û´Ëʱȡֵ»á¸ù¾Ýp1Ö¸ÏòµÄµØÖ·Á¬ÐøÈ¡2¸ö×Ö½ÚµÄÊý¾Ýµ±×ö½á¹û ´Ëʱ¿Ï¶¨²»ÊÇ33£¬£¬£¬ÓеÄͬѧÒѾעÒâµ½ÁËÔÚ×îÍâ±ß»¹ÓÐÒ»¸ö(char*)¼´ÀàÐÍת»»£¬´ËʱÓÖ°Ñp1µÄÀàÐÍת»»Îªchar*ÁË£¬È»ºóÔÙȡֵ ¾Í»áµÃµ½33
±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍC++Åàѵ
ѧԺËùÓУ¬»¶Ó×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
×÷ÕߣºÀÖÓã²¥¿ÍC/C++ÅàѵѧԺ
Ê×·¢£ºhttp://www.itcast.cn/c/