Memset адрес в четыре байта выделенной памяти

РЕДАКТИРОВАТЬ: Благодаря Ipmcc, он дал мне решение в комментариях.

Я хотел бы использовать memset для выделения четырехбайтового адреса в первые четыре байта памяти, которые я выделил динамически. Пример с комментариями того, что я хотел бы сделать, показан ниже. Все мои попытки выяснить, как это сделать или понять сами, закончились неудачей.

Любая помощь будет высоко ценится, спасибо.

int main(void)
{
// Define and assign eight bytes of memory
unsigned char *data1 = new unsigned char [8];
unsigned char *data2 = new unsigned char [8];

// Set all eight bytes in both data1 and data2 to 0x00
memset(data1, 0x00, 8);
memset(data2, 0x00, 8);

// Lets say that the address of *data1 is: 00508d30
// Lets say that the address of *data2 is: 0050b180

// I want to set the first four bytes in data1 to the
// address of data2, so it would look something like this...
memset(data1, 0x00, 1); ++data1;
memset(data1, 0x50, 1); ++data1;
memset(data1, 0xB1, 1); ++data1;
memset(data1, 0x80, 1);
data1 -= 3; // Reset pointer

// But of course this is in no way practical or viable
// since the addresses change each time (also it's not a good
// practice to hard-code things in anyway). So I'm wondering
// if there's a proper/feasible way to do this.

return 0;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]