Массив превращается в указатель на свой первый элемент при передаче в функцию.sizeof
из функции возвращает размер указателя на вашу реализацию.Вы могли бы объявить это:
int indexOf(const char **array, char *e)
Возможно, вы захотите передать длину в качестве отдельного параметра.
РЕДАКТИРОВАТЬ
То, что я пытаюсь эточтобы не передавать размер в качестве параметра.
В этом случае вы можете пометить конец массива с помощью NULL
const char *a[] = {";", ",", ":", "==", ":=", NULL};
Таким образом, в функции, которую выбудет знать, где это заканчивается.