Mitia, обратись к документации - или в ней сказано, какого размера должен быть буфер, либо надо определить размер логически, либо хреновая дока. 32 - это я чисто для примера.
Из этого определения получается: a - указатель на тип char в C. В C++ это указатель на char[32] (в зависмости от компилятора - может посчитать и указателем char - точнее - надо см. стандарт).
Когда ты указываешь индекс в прямоугольных скобках, ты обращаешься к указанному элементу массива. Индексы имеют нумерацию от 0 до (размер - 1) - в этом примере индекс 32 и более будет некоректен.
Рекомедую почитать какой-нибудь самоучитель по C/C++.
Спрашивай, но доки читай.