Ответ Или хочется, чтобы во втором случае, pntr - использовался не как указатель на переменную, а сам параметр (котрорый функция принимает как void*) был бы этой переменной?
Нет, хочется передавать в функцию разное количество параметров. Причем один из передаваемых параметров сам может быть значением указателя (адресом).
Вы считаете что unsigned long - 4-ре байта, unsigned int - 2 байта?
Нет, не считаю. Это только в примере я так написал. Я использую свои собственные (переопределяемые) типы данных.