我想知道我們是否可以通過使用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. –