Да, это идеальное использование для typedef, по крайней мере, в C.
Для C ++ можно утверждать, что шаблоны - лучшая идея (как предложил Диего Севилья), но у них есть свои недостатки. (Дополнительная работа, если все, что использует тип данных, еще не обернуто в несколько классов, более медленное время компиляции и более сложная структура исходного файла и т. Д.)
Также имеет смысл объединить два подхода, то есть дать имя typedef параметру шаблона.
Обратите внимание, что при отправке данных по сети символы char и другие целочисленные типы могут не быть взаимозаменяемыми (например, из-за порядкового номера). В этом случае использование шаблонного класса со специализированными функциями может иметь больше смысла. (send отправляет байт, send сначала преобразует его в сетевой порядок байтов)
Еще одним решением было бы создание класса "BufferElementType" с вспомогательными методами (convertToNetworkOrderBytes ()), но я держу пари, что это будет излишним для вас.