если CHAR_BITS > 8, то sizeof(char) может быть не 1? И правильно я понимаю, что char на x86 signed означает, что где-то в заголовке прописан typedef char signed char вместо typedef char unsigned char, и CHAR_BITS=7
Чарбит не может быть 7 равен, он 8+
А как тогда такая ситуация развернется? Допустим, я сделаю char a[10]. У меня char 16-и битный. memset(a, 0, 10*sizeof(a[0])) не заполнит все нулями, а только половину?
Ты не понимаешь, размер чара всегда равен 1 байту, у тебя байт может быть >=8 битов
Т.е. чар это тип минимального адресуемого объекта.
Если вместо чар тут инт то все заполнится нулями
Обсуждают сегодня