Это лучше всегда делать в ctypes. Если забивать - иногда прокатывает. Но можно легко поймать неожиданность.
Поэтому - всегда рекомендую.
Технически дело выглядит так: без объявления ctypes не делает проверки на типы. Если подсунуть неправильный параметр - будет непредсказуемый результат. Вплоть до краша. Объявления добавляют надежность - но полной гарантии не дают.
Или имелись в виду out параметры? Если да - то это особенность С как языка. Везде так делают.