- 締切済み
アドレスをintに代入する方法
適当なアドレスをprintfで表示し、その値をintに代入するのが目的です。 #include <iostream> using namespace std; main(){ char buf[20]; char **pp; char *p = "\0"; int i; pp = &p; printf("%lu\n", pp); sprintf(buf, "%lu\n", pp); i = atoi(buf); printf("%lu\n", i); } とりあえずできていますが、 pp = &p;以降の処理で、bufを使ったり非推奨?のatoi()を使っています。 pp = &p;以降の処理でもっとよい方法はないでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- moritan2
- ベストアンサー率25% (168/670)
回答No.1
普通に i = (int)p; じゃなにかまずいんですか? 上の例だと"\0"のアドレスじゃなくて、pのアドレスを表示しているように見えますが。pのアドレスを見たいんなら、普通は i = (int)(&p); ですけど。