【发布时间】:2015-02-07 01:08:21
【问题描述】:
我有一个函数,其中有 2 个 void 指针(规范的一部分),但我知道它们是 char *。我想遍历 char 数组,所以我尝试创建一些指针来遍历它们。当我执行以下操作时,我的程序不起作用:
int foo(void const * first, void const * second)
{
char const * firstIt = (const char*) first;
char const * secondIt = (const char*) second;
...
}
但是,如果我这样做:
int foo(void const * first, void const * second)
{
char const * firstIt = *(const char**) first;
char const * secondIt = *(const char**) second;
...
}
两者有什么区别,为什么第二个有效?我不知道我是否包含了足够的细节,所以如果需要更多信息,我很乐意提供。
【问题讨论】:
-
没有足够的信息,我试过第一个对我有用
标签: c pointers void-pointers