读书人

求教const void指针有关问题

发布时间: 2012-02-21 16:26:23 作者: rapoo

求教const void指针问题
看到例子时有点看不懂,请教。
有函数
public int compare(const void* a,const void* b)
{
return strcmp(*(char**)a,*(char**)b);
}

请问
return strcmp(*(char**)a,*(char**)b);

return strcmp((char*)a,(char*)b);
有什么区别?

[解决办法]
return strcmp(*(char**)a,*(char**)b);
a/b 的类型是 char** a/b指向字符串指针的数组


return strcmp((char*)a,(char*)b);
a/b 的类型是char* a/b本身就是字符串的指针

[解决办法]
int compare(const void* a,const void* b)
{
return strcmp(*(char**)a,*(char**)b);
}

int compare(const char** a, const char** b)
{
return strcmp (*a, *b);
}
对 a 和 b 解引用才得到字符串

读书人网 >C++

热点推荐