void类型的指针函数怎么用,举个例子谢谢。不是函数指针,是指针函数。

来源:百度知道 编辑:UC知道 时间:2024/06/10 14:55:33
如题

void *p是无类型指针 无类型指针是不能直接使用的 使用时要强制转换类型 如在使用qsort(&a[0],n,sizeof(a[0]),cmp);快排时
cmp(const void *p,const void *q)这个比较函数的参数都要是void *指针以便适应各种类型的元素的排序 但是在写cmp函数的函数体时要
{
return (int *)p-(int *)q;

}将void *指针改成int * (这里假设排序的元素是int型的 其他的类推)

顺便说一下 由malloc()函数开辟内存时返回的指针就是void *,也就是只开辟内存地址 但你究竟要放什么数据都可以 使用时强制转换如: *a=(int *)mallco(XXX);