Я выделил кусок памяти типа char, и его размер, скажем, 10 МБ (т. Е. Mem_size = 10):
int mem_size = 10;
char *start_ptr;
if((start_ptr= malloc(mem_size*1024*1024*sizeof(char)))==NULL) {return -1;}
Теперь я хочу сохранить информацию о размере в заголовке блока памяти. Чтобы сделать себя более понятным, скажем: start_ptr = 0xaf868004 (это значение, которое я получил от своего выполнения, оно меняется каждый раз). *
Теперь я хочу поместить информацию о размере в начало этого указателя, т.е. *start_ptr = mem_size*1024*1024;
.
Но я не могу поместить эту информацию в start_ptr
. Я думаю, причина в том, что мой ptr имеет тип char
, который занимает всего один байт, но я пытаюсь сохранить int
, который занимает 4 байта, это проблема.
Я не уверен, как решить эту проблему ..