У меня есть некоторый C-код, который является чем-то вроде головоломки. По какой-то причине, связанной с этим кодом, мне интересно, как я могу определить, заканчивается ли struct
объект в куче или стеке?
Объекты не создаются с malloc
или calloc
. Они начинают свою жизнь в виде массива. Для целей этого поста я собираюсь назвать структуру Emp.
Emp myEmp[6];
/* Each myEmp[?] item is populated in code */
Объекты сортируются и обрабатываются различными способами, и в какой-то момент объекты копируются и затем передаются массиву-указателю. Копирование осуществляется через memcpy
. Затем объекты помещаются в нечто вроде: Emp* emps_a[6]
.
Объекты берутся из копии и присваиваются вышеуказанному emps_a.
int i;
for( i = 0; i < n; i++ )
{
emps_a[i] = myEmpsCopy + i;
}
Я не уверен, имеет ли какое-либо отношение это к моему вопросу. Мне никогда не нужно free () или очищать память ... Боюсь, я не слишком много знаю о C.
Помощь очень ценится.