プログラムで適切なサイズのメモリを割り当てる際に問題が発生しています。私は次のことを行います:
void * ptr = sbrk(sizeof(void *)+sizeof(unsigned int));
これを行うと、バイト単位ではなく void* 単位で割り当てているため、ヒープにメモリを追加しすぎていると思います。sizeof ( anything ) が他の単位ではなくバイトを意味するようにするにはどうすればよいですか?
編集:
コンパイラがサイズをバイト単位で取得するように、他の人がものを char としてキャストするのを見てきました。sizeof(unsigned int) が 4 バイトで、使用していた型が void * の場合、コンパイラは 4 バイトではなく void * のサイズの 4 倍でブレークしますか?