Я пытаюсь напечатать значение, на которое указывает адрес, но проблема в том, что мне нужно разыменовать этот указатель на основе размера, который передается мне. Так что-то в этом роде:Как разыменовывать по размеру?
void print(Address addr, Int size) {
...
}
Я немного смущен о том, как этого достичь. Может ли кто-нибудь указать мне в правильном направлении?
EDIT: Хорошо, так что я имею в виду:
char p[80];
memset(p, '\0', 80);
memcpy(p, addr, size);
А затем разыменования как * р. Если есть лучший способ или правильный способ, пожалуйста, дайте мне знать
Можете ли вы подробно рассказать о том, что иногда вы хотите разыменовать указатель как 32-битный int (скажем, если size == 4), а иногда и как 64-битный int (if size == 8)? Или вы что-то еще? –
@ Майкл: Правильно. Я пытаюсь напечатать шестнадцатеричное представление этих чисел. – Legend