Я пишу распределитель памяти, и мне нужен способ хранить целое число внутри куска памяти. Это целое число будет представлять размер блока, чтобы я мог перейти к концу, имея указатель на начало.
Вот мой тестовый пример:
// РЕДАКТИРОВАТЬ: Объявлено пространство для testInt int* testInt = new int;
head_ptr = (char*) malloc(4*1024*1024); // Allocate 4MB
// EDIT: Should have used std::fill and std::copy
memset(head_ptr,23,sizeof(int)); // Set Address head_ptr = 12345
memcpy(testInt,head_ptr,sizeof(int)); // Set testInt = head_ptr
printf("testInt = %i",testInt);
Это вызывает ошибку сегментации во предпоследней строке.
Имеет ли смысл то, что я пытаюсь сделать?
Если да, то каков правильный подход?
Большое спасибо всем за помощь!! Проблема решена :-)
int i; int *testInt = &i;
. - person Jonathan Leffler   schedule 01.04.2010