Я пытаюсь выполнить этот программный код C ++ в TurboC ++
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void main()
{clrscr();
int i;
long int a=10,*p;
p=&a;
for(i=0;i<10;i++)
{printf("\n{Via printf}\t&a=%p,p=%p",&a,p);
cout<<"\n{Via cout}\t&a="<<&a<<",p="<<p;
p=p+1;
}
getch();
}
Теперь вывод этой программы следующий:
{Via printf} &a=FFF2,p=FFF2
{Via cout} &a=0x8f87fff2,p=0x8f87fff2
{Via printf} &a=FFF2,p=FFF6
{Via cout} &a=0x8f87fff2,p=0x8f87fff6
{Via printf} &a=FFF2,p=FFFA
{Via cout} &a=0x8f87fff2,p=0x8f87fffa
{Via printf} &a=FFF2,p=FFFE
{Via cout} &a=0x8f87fff2,p=0x8f87fffe
{Via printf} &a=FFF2,p=0002
{Via cout} &a=0x8f87fff2,p=0x8f870002
{Via printf} &a=FFF2,p=0006
{Via cout} &a=0x8f87fff2,p=0x8f870006
{Via printf} &a=FFF2,p=000A
{Via cout} &a=0x8f87fff2,p=0x8f87000a
{Via printf} &a=FFF2,p=000E
{Via cout} &a=0x8f87fff2,p=0x8f87000e
{Via printf} &a=FFF2,p=0012
{Via cout} &a=0x8f87fff2,p=0x8f870012
{Via printf} &a=FFF2,p=0016
{Via cout} &a=0x8f87fff2,p=0x8f870016
Я знаю, что 0x (т. Е. Вывод p через cout) означает шестнадцатеричное нет.
также его последние четыре цифры обозначают его сохраненное значение,
но что обозначает 8f87 (его третья, четвертая, пятая и шестая цифры)?