怎么样读取内存中的一段数据?

怎么样读取内存中的一段数据?

#include<stdio.h>
void Display_Memory()
{
int i;
unsigned char ch;
unsigned char *p;
char s[80];
printf("/nbeginning address(in hex):/n");
scanf("%p%*c",&p);
printf("%p:/t",p); /* output address*/
for(i=0; i<256; i++)
{
ch=*p;
printf("%02x ",ch);
p++;
if(! (i%16) )
{
printf("/n");
if(i != 256 )
{
printf("%p:/t",p);
}
}

}
};

int main()
{
Display_Memory ();
return 0;
}

读取内存中从输入地址开始的一段数据。