C - 如何将数组中的指针转换为索引?

Ton*_*ark 11 c indexing pointers pointer-arithmetic

在C的许多搜索函数中(如果找到结果,可以想到bsearch),返回指向数组中点的指针.如何将此指针转换为搜索到的数组中的索引(使用指针算法,我假设).

Ara*_*raK 16

ptrdiff_t index = pointer_found - array_name;
Run Code Online (Sandbox Code Playgroud)

  • 没有类型为“ void”的数组,但是有一个类型为“ void”的指针。 (2认同)
  • 为什么你使用`size_t`而不是'ptrdiff_t`? (2认同)