我想知道我们是否可以通过使用C语言中该位置的裸地址在特定位置打印数据。我们可以通过在C中使用裸地址来打印数据吗?
用于例如,下面是我使用的代码:
#include<stdio.h>
int main(int argc, char** argv) {
int num = 10;
int *ptr;
ptr = #
//To output the address of the "num" variable
printf("Address: %p\n", ptr);
//Address is 0x7fff47808f50...
//Using that address to print the data at variable "num"
printf("Data: %d\n", *(0x7fff47808f50));
return 0;
}
但它显示错误。也许我使用了错误的语法,或者这不是做这件事的方法。总之,请告诉我正确的方法来做到这一点。
是什么让你觉得总是会有在您的地址'0x7fff47808f50'的东西吗? – litelite
地址发生了变化,它并不总是这样......你必须将它设置为一个整数指针,否则如何解码类型? –
请注意,这是变量“num”的地址,我将它赋值为10. –