int指针和void指针之间的区别

时间:2019-10-18 07:45:52

标签: c pointers

在我的OS讲座中,我们使用C做一个小型的初学者练习。

  

考虑内存中的一个整数数组。您如何使用以下指针访问第四个元素?两者都指向数组的开头。

     

int * ip;

     

void * vp;

我设法用两个指针访问了第四个元素,但是我不确定为什么。

这是我为int * ip做的事情: printf("%d \n", *(ip + 3));

这就是我为无效* vp所做的: printf("%d \n", *(int *)(ip + 3 * sizeof(int));

所以,我的问题是:这些指针之间有什么区别,为什么我必须将int的大小添加到void指针?

非常感谢您。

0 个答案:

没有答案