Имеет ли значение, если фактический переданный буфер является массивом char
с или unsigned char
с?
Нет. Более того, это не единственный ваш выбор. Буфер, на который указывает второй аргумент, может иметь любой тип объекта. Обычно он указывает либо на массив char
, либо на массив unsigned char
, но не так уж редко он указывает на массив некоторого (другого) целочисленного типа, или на объект структурного типа, или на что-то еще.
Основная задача состоит в том, чтобы интерпретировать полученные данные в соответствии с типом данных, предназначенным отправителем, и для этого необходимо, чтобы вы либо знали заранее, либо имели возможность определить из данных, какой тип предназначен. Другими словами, отправитель и получатель должны согласовать какой-либо протокол связи.
Самым простым из возможных протоколов является недифференцированный поток байтов; для этого наиболее подходящим является массив unsigned char
. Некоторые другие варианты лучше подходят для других протоколов.