>> typedef map<pair<u32, string>, u32> synonim
>> это синоним чего?
Это синоним ассоциативного массива, элементами которого являются элементы типа u32 (скорее всего беззнаковые целые длинной 32 бита), а ключами (индексами) - пары, состоящие из элемента типа u32 и строки.
>> как это выглядит на ц?
Шаблонов нет в Си.
А если серьёзно - на Си можно написать аналогичную по функциональности штуку (хитрый ассоциативный массив), но это будет сильно длиннее одной строки. Или можно взять готовые конструкции, например из glib или других библиотек, но всёравно на C++ кода будет меньше.