У меня есть значение указателя, сохраненное в b + 4, в которое я хотел бы загрузить 'a'. По сути, у меня есть b + 4 - указатель на указатель на беззнаковое целое (адрес, на который указывает a). Тем не менее, мне было интересно, будет ли этот код на самом деле хранить всю «а» (так как «а» составляет 4 байта), или левое значение будет просто хранить 1 байт:
void *a = //something;
*((unsigned **)((char*)b+4)) = a;
Меня смущает вопрос, будет ли вторая строка хранить 'a' как символ или как беззнаковое целое ...
* edit: Итак, было бы иначе, если бы я сделал:
*((char *)b + 4) = a;