#include <stdio.h>
int main()
{
int a = 1;//必须先定义一个变量并赋值,这样子后面才能引用a的地址0x12ff7c,并修改其中的值,否则vc6.0会提示内存不能访问内存
// int *p = &a;
int *p = (int *)0x12ff7c;//这里不能写int *p = 0x12ff7c,写了会提示cannot convert from 'const int' to 'int *'
*p = 100;
printf("a = %d,&a = %x\n",a,p);
printf("*p = %d\n", *p);
return 0;
}
如果仅仅是固定地址赋值
int *p = (int *)0x000001;
*p = 100;
本身语法并没有错,只是这个地址可能已经呗系统用掉,不是可用地址,所以编译器不能通过;