C - как преобразовать указатель в массиве в индекс? - PullRequest
11 голосов
/ 26 апреля 2010

Во многих поисковых функциях C (bsearch приходит на ум), если результат найден, возвращается указатель на место в массиве. Как я могу преобразовать этот указатель в индекс в массиве, который был найден (используя арифметику указателей, я предполагаю).

1 Ответ

16 голосов
/ 26 апреля 2010
ptrdiff_t index = pointer_found - array_name;
...