强制类型转换(int*)
在vc中
int* pt;
pt=0xB8000000;为什么不能将0xB8000000直接看作一个地址赋给pt,
而
int* pt;
pt=(int*)0xB8000000;就可以?
并且
(int*)0xB8000000这句强制类型转换应该怎么理解?为什么他一强制转换就变成地址值了呢0xB8000000本身是个16进制的数值
pt=0xB8000000//把一个数值赋给地址,显然是不可以的int* pt;
pt=0xB8000000;为什么不能将0xB8000000直接看作一个地址赋给pt,
而
int* pt;
pt=(int*)0xB8000000;就可以?
并且
(int*)0xB8000000这句强制类型转换应该怎么理解?为什么他一强制转换就变成地址值了呢0xB8000000本身是个16进制的数值
(int*),就是把一个值强制转换为一个int型的指针,也就是说把这个值转换为一个地址,这个地址指向的内容是int型的值
pt=(int*)0xB8000000//就是把0xB8000000转换为int型的指针,并把该指针(地址)赋给pt