Допустим, мы получаем память вот так:
void* start = calloc(1,1); // 1 byte = 8bits all 0 -> 00000000 and i want to get 00100000
Как мне установить 3-й бит, например, после указателя на 1?
Если блок большой, например:
void* start = calloc(1, 1024); // and you want n-th bit n > 8
((unsigned char*)start)[n/CHAR_BIT] |= (1 << (n % CHAR_BIT));