Когда вы присваиваете переменную, вы присваиваете значение с правой стороны, а не объектное представление с правой стороны.Поэтому после присвоения переменной никогда не будет неинициализированных битов (или байтов).
Кроме того, поскольку байт является минимальной адресуемой единицей, вы не можете назначать значения только определенным битам в байте.Это все или ничего.
Можно назначать только определенные байты переменной, если это делается с помощью char *
или memcpy
.Например:
unsigned char c[] = { 1, 2 };
int j;
memcpy(&j, c, sizeof(c));
Предположим, что int
равен 4 байта, тогда только первые 2 байта j
записываются, а последние 2 остаются неинициализированными.