我有一個「無符號int *」值,我需要將它轉換爲一個簡單的「無符號整型」, ,所以我可以將其轉換爲函數。但不幸的是, 當我嘗試做一個簡單的演員,價值得到改變:C/C++:如何正確地將「unsigned int *」值轉換爲「unsigned int」?
Code:
unsigned int * addr;
...
fprintf(stdout, "=== addr: %08x ===\n", addr); fflush(stdout);
fprintf(stdout, "=== casted addr: %08x ===\n", (unsigned int)addr);
Output:
=== addr: fc880000 ===
=== casted addr: 400eff20 ===
請告訴我,如何將這個值正確轉換,因此它不會在轉換過程中的變化?
...有沒有C/C++你使用哪一個? – Mike 2013-02-18 14:10:54
您正在打印兩個不同的變量:'addr'和'address'! – 2013-02-18 14:12:14
@Mike C,但C++解決方案也會很有趣。 – 2013-02-18 14:12:22