много где замечал, что размер символьного буфера определяется так:
const int bufferSize = 255;
char buffer[bufferSize+1];
зачем прибавлять единицу? ведь char может хранить 256 значений, почему сразу не определить так:
const int bufferSize = 256;
char buffer[bufferSize];
тоже самое для символьного массива:
const int MAX = 256;
char array[MAX];
ведь char может хранить 256 значений, почему сразу не определить так:
Размер char не имеет никакого отношения к размеру выделяемого буфера - хоть мегабайт :)
Выделяется так для удобства, если вы выделяете bufSize+1 байт - то можете хранить в нем строку в bufSize символов (еще один - для завершающего нулевого символа).
Что касается конкретно 255 - то, как мне кажется, причины тут скорее психологические - типа, круглое (в смысле бинарном :)) число, плюс обычно именно такой размер не может превышать имя файла (например, _MAX_FNAME в Windows).
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости