[英]How qsort() function works?
void qsort (
void* base,
size_t num,
size_t size,
int (*compar)(const void*,const void*)
);
qsort 函数如何在地址后访问“大小”字节以获取下一个元素?
通过将void*
类型转换为char*
?
qsort 函数如何访问基地址后的“size”字节以获取下一个元素? 通过将
void*
类型转换为char*
?
问题中固有的假设是qsort
本身是用 C 编写的; 不必如此。 让我们假设它是。
转换为char*
将是一种典型的方法,是的,通过显式使用强制转换运算符,或通过将base
分配给char*
类型的局部变量。
GNU C 允许您直接将整数添加到 void 指针,但这是 C 语言的不可移植扩展。
如果您对特定实现有疑问,请说明是什么实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.