(void *)p 和(void **)p区别

(void *)p 和(void **)p  地址是一样的,只是指针类型不一样而已

(void *)p //强制转化为 void指针
(void **)p //强制转化为void 二级指针

而*(void **)p 是p指针所指向的值; 只是你把  p 转化为你所符合的指针类型,再取值而已

 

测试程序

int main(int argc, char* argv[])
{
int a = 10;
int* p = &a;
printf("%p\n", &a);
printf("%p\n", p);
printf("%p\n", (void*)p);
printf("%p\n",(void**)p);
printf("%d\n",*(void**)p);
return 0;
}

运行结果如下

posted on 2016-04-21 20:12  鲁宝  阅读(671)  评论(0编辑  收藏  举报

导航