指针解析

不同类型的指针
int *p
void *p
ZooAnimal* p
这个问题由来已久,各种类型的指针,内存中只是一个4个字节存储的地址,那怎么区分呢
主要是其寻址出来的object类型不同,指针类型会教导编译器如何解释某一个特定地址中的内容和大小,我突然想到了汇编中哪些寻址,这个指针的寻址和那个肯定有关系
加入int类型的指针地址是1000,那他解析的地址将是1000-1003
对于类的复杂一些,但还是按照其类的大小和内存结构进行解析的
void*的地址不代表什么类型,所以无法解析
对于强制转换,他只是影响"被指出内存的大小和内容"的解释方式
如void* p; (int*)p;对于这个将p指向的内容按照int进行解析,void*在传参时用的很多

 

posted @ 2014-10-07 14:57  zzyoucan  阅读(161)  评论(0编辑  收藏  举报