求教const void指针有关问题
求教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 解引用才得到字符串
看到例子时有点看不懂,请教。
有函数
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 解引用才得到字符串