CÉî¶È½âÆÊÎÊÌâ´úÂë·ÖÎö±Ê¼Ç1
#include <stdio.h>
int main()
{
int a[5]={1,2,3,4,5};
int *ptr1=(int*)(&a+1);
int *ptr2=(int*)((int)a+1);
printf("%p,%x,%p\n",(int)a,*(ptr2+1),ptr1);//(int*)(&a));
printf("%d\n",(int*)(&a-16));
printf("%d,%x\n",ptr1[-1],*ptr2);
return 0;
}
ÔÚÁ½¶ÎºÜ¶ÌµÄ³ÌÐòÉϺÄÁËÕû¸öÍíÉÏ£¬²»¹ý¸Ð¾õ»¹²»´í£¬ÍêÈ«¿¿×Ô¼ºµ÷ÊÔ·ÖÎöµÄ¹ý³ÌºÜÓгɾ͸С£
²»¹ýgdb»¹Ò»µã¶¼²»»áÓã¬ÊÔ¹ýÊÖ²áÀïµÄgdb program£¬µ«ÊÇÖ®ºó list ³öÀ´µÄÎļþÃûÈ´ÊÇij"Start.S"£¬²ÎÊýµÄÓ÷¨»¹Ã»Àí½â£¬µ±Ê±Ò²Ã»¹ÜÕâô¶à£¬¼±×ÅÏëÒª¸ãÇå³þÕâÁ½¶Î³ÌÐòµÄÔÀí£¬ËùÒÔ¾ÍÖ±½ÓÓÃprintfÀ´µ÷ÊÔÁË¡££¨Ï£ÍûÓз¹ýµÄ
¸ßÊÖÄÜÖ¸µãһϣ¬¼òµ¥ËµÒ»Ï³£ÓòÎÊýµÄÉèÖþÍÐУ¬¸Ð¼¤Íò·Ö£¡
£©
ÓÚÊÇ£¬Í¨¹ýÐÞ¸ÄÁËN´ÎµÚÒ»¸öprintfµÄ²ÎÊý£¬ÊÕ¼¯µ½ÒÔÏÂÊý¾Ý£º
1.(int)a == (int*)(&a) == &a
2.(int*)(&a+1) - 14h == (int)a£¬
(int*)(&a+2) - 28h == (int)a
3.int a[6]={1,2,9,4,5,6}ʱ£¬
(int*)(&a+1) - 15h == (int)a£¬
(int*)(&a+2) - 30h == (int)a
4.
ptr1[-1]==5,
ptr1[-2]==4,
ptr1[-3]==3,
ptr1[-4]==2,
ptr1[-5]==1
5.Ìí¼Ó£º
int i;
for(i=0;i<20;i++)
{
unsigned *p=(unsigned*)((int)a+i);
printf("%lx\n",*p);
}
µÃ³ö£º
1
2000000
20000
200
2
3000000
30000
300
3
4000000
40000
400
4
5000000
50000
500
5
8d000000
cd8e0000
a0cd8f00
int i;
for(i=0;i<20;i++)
{
char *p=(char*)((int)a+i);
printf("%x",*p);
}
µÃ³ö£º10002000300040005000
ÍÆÀí½á¹û£º
Ò»¡¢¿ÉÒÔµÃÖª(&a+1)±ÈaµÄµØÖ·¸ß³ö0x14h,Ò²¾ÍÊÇ20£¬¶ø¸ÕºÃ5¸öintÐÍËùÕ¼µÄÄÚ´æÒ²ÊÇ20£¬ÔÙ½áºÏÌõ¼þ3¿ÉÒÔÍÆ¶Ï³ö
int *ptr1=(int*)(&a+1);´Ë¾äÊÇÒª°Ñptr1Ö¸ÏòÊý×éaºó1×Ö½Ú£¬¶øptr1[-x]ÔòÊÇ´Ó(£¦a£«1)ºóÍË£¬ÒòΪptr1ÊÇint *£¬ËùÒÔÿ¼õ1¾ÍÏòÇ°ÒÆ4×Ö½Ú¡£
¶þ¡¢(&a+x)»áÒÔ x*sizeof(a) ÏßÐÔµÝÔö¡£
Èý¡¢ÒòΪÎÒµÄÊÇ32λ»ú£¬unsignedºÍint´óС¶¼ÊÇ4×Ö½Ú£¬ËùÒÔ²âÊÔ´úÂëºÍÔ³ÌÐòµÄunsigned *ºÍint *¶¼ÊÇÿ´Î´ÓÄÚ´æ¶ÁÈ¡4×Ö½Ú£¬¶øÇÒ¿ÉÒÔÍÆÀí³öÎ
Ïà¹ØÎĵµ£º
ÖÚ¶àC++Êé¼®¶¼ÖÒ¸æÎÒÃÇCÓïÑÔºêÊÇÍò¶ñÖ®Ê×£¬µ«ÊÂÇé×ܲ»ÈçÎÒÃÇÏëÏóµÄÄÇô»µ£¬¾ÍÈçͬgotoÒ»Ñù¡£ºêÓÐ
Ò»¸öºÜ´óµÄ×÷Ó㬾ÍÊÇ×Ô¶¯ÎªÎÒÃDzúÉú´úÂë¡£Èç¹û˵ģ°å¿ÉÒÔΪÎÒÃDzúÉú¸÷ÖÖÐͱðµÄ´úÂë(ÐͱðÌæ»»)£¬
ÄÇôºêÆäʵ¿ÉÒÔΪÎÒÃÇÔÚ·ûºÅÉϲúÉúеĴúÂë(¼´·ûºÅÌæ»»¡¢Ôö¼Ó)¡£
¹ØÓÚºêµÄһЩÓï·¨ÎÊÌ⣬¿ÉÒÔÔÚgoogleÉÏÕÒµ½¡£ÏàÐÅÎÒ£¬Äã¶Ô ......
н¨Ò»¸öWin32 Application£¬²¢ÔÚÏàÓ¦Îļþ¼ÐÏÂн¨Ò»¸öbook.mdb£¬ ÀïÃæÓÐÒ»¸ö±íBookInfo£¬±íÖÐÓÐÒÔϼ¸Àý£º
id:
BookName:
Author:
µÈ£»
//------------------------------------------------------------------------------
// Copyright (c) 2009 eryar All rights reserved.
//
// File : Main.cpp
// ......
ÓÐËÕæÕýµÄÀí½â¹ýÒ»¸ö±àÒëÆ÷ÄØ£¿Ðí¶àÈËÈÏΪTCºÜ¼òµ¥ºÜÂäºó£¬µ«ÊǼ´±ãÊÇÕâÑù¼òµ¥µÄ¹¤¾ß£¬µ½µ×Óм¸¸öÈËÕæÕýµÄÉîÈëÀí½âÁËÄØ£¿Ò»¸ö¼òµ¥µÄ±àÒëÆ÷¶¼²»ÄÜÀí½â£¬ÈçºÎÄܳÉΪ¸ßÊÖ£¬ÈçºÎÄÜÉîÈëµÄʹÓøü¼Ó¸ß¼¶µÄ¹¤¾ßÄØ£¿²»ÒªÒÔΪ×Ô¼ºÊ¹ÓõÄÊÇVC¾ÍºÜÁ˲»Æð£¬ÒòΪʹÓÃÕâÑùɵ¹Ï»¯µÄ¹¤¾ßÖ»ÄÜÈÃÄã¿´²»µ½ÊÂÎïµÄ±¾ÖÊ¡£½ÓÏÂÀ´ÎÒÃǾÍÀ´ÉîÈëµÄÈÏ ......
Ò»°ã±äÁ¿¶¨ÒåÔÚ*.cÎļþÖÐ,¶ø*.hÎļþÖÐÉùÃ÷±äÁ¿»òº¯ÊýÃûºÍ·ûºÅÃû.
±ÜÃæÖØ¸´±àÒëµÄ½â¾ö·½·¨:
±ÈÈçÄãÓÐÁ½¸öCÎļþ£¬ÕâÁ½¸öCÎļþ¶¼includeÁËͬһ¸öÍ·Îļþ¡£¶ø±àÒëʱ£¬ÕâÁ½¸öCÎļþ¶¼Òªµ÷ÓÃͬһ¸öÍ·ÎļþÈ¥±àÒë£¬ÖØ¸´±àÒë»á²úÉú´óÁ¿µÄÉùÃ÷³åÍ»¡£½â¾öÕâ¸öÎÊÌâµÄ·½·¨Ê¹ÓÃ#ifndef, #endif, #endif¡£
&nbs ......
¶¨Òå°´Öµ´«µÝºÍ°´ÒýÓô«µÝÕâÁ½¸öÊõÓïÊÇÖØÒªµÄ¡£
°´Öµ´«µÝÒâζ×ŵ±½«Ò»¸ö²ÎÊý´«µÝ¸øÒ»¸öº¯Êýʱ£¬º¯Êý½ÓÊÕµÄÊDzÎÊýµÄÒ»¸ö¸±±¾¡£Òò´Ë£¬Èç ¹ûº¯ÊýÐÞ¸ÄÁ˸òÎÊý£¬½ö¸Ä±ä¸±±¾£¬¶øÔʼֵ±£³Ö²»±ä¡£°´ÒýÓô«µÝÒâζ×ŵ±½«Ò»¸ö²ÎÊý´«µÝ¸øÒ»¸öº¯Êýʱ£¬º¯Êý½ÓÊÕµÄÊDzÎÊýµÄÄÚ´æµØÖ·£¬¶ø²»ÊDzÎÊýµÄ¸±±¾¡£Òò ´Ë£¬Èç¹ûº¯ÊýÐÞ¸ÄÁ˸òÎÊý£¬µ÷ ......