• ベストアンサー

アドレス値はどの型にキャストすればよいでしょうか?

環境はWindows32bitです。 できれば64bitにも対応した型が知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4856/10272)
回答No.8

補足を見ると、「アドレス値はどの型にキャストすればよいでしょうか? 」は間違いで、 アドレス値を整数型変数に入れたいが、その変数の型名に何を使えばいいか? ですね。 ISO/ANSI/JIS規格だと、intptr_t 。符号無し整数なら uintptr_t です。 JISだと、下記に書いてあります。 7.18.1.4 オブジェクトを指すポインタを保持可能な整数型 サンプル: #include <stdio.h> #include <stdint.h> main(){ char *p = "ABC"; intptr_t address = (intptr_t)p; printf("%X\n",address); printf("%p\n",p); }

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (7)

回答No.7

どうしてもキャストしたいならsize_t型かな・・・

全文を見る
すると、全ての回答が全文表示されます。
  • qwertfk
  • ベストアンサー率67% (55/81)
回答No.6

intptr_t uintptr_t で32/64bit対応できるはず。 int i = 0; uintptr_t ptr = (uintptr_t)&i;

全文を見る
すると、全ての回答が全文表示されます。
  • a_kwn
  • ベストアンサー率34% (8/23)
回答No.5

INT_PTR, UINT_PTR, intptr_t, uintptr_t ぐらいが浮かびますが・・・。 あなたの開発環境にも、これに類したものがあるとおもいますので、 適切なものを使ってください。

110110110110
質問者

お礼

回答ありがとうございました。 またすこし理解が深まりました。

全文を見る
すると、全ての回答が全文表示されます。
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.4

一応書いておくと sizeofでポインタと各整数型の大きさを調べるのが確実です。

全文を見る
すると、全ての回答が全文表示されます。
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

WIndowsで普通のプログラミングしているかぎり、ポインタを数値にして使う場面はまず無いと思うのですが。 ポインタをポインタのまま使ってなにか不都合でもあるのでしょうか?

110110110110
質問者

お礼

回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
noname#140082
noname#140082
回答No.2

キャストを日本語に訳すと「型変換」となるので、何らかの型変換処理が行われると思いがちですが、キャストとはコンパイラに対する命令(?)なので、簡単に言えば「型をだます」だけで、何かが変わるわけではありません。 ですから、たとえば代入であればキャストするのは代入先の型に合わせるだけです。 代入元は、アドレス値であろうが整数値であろうが、何でもいいのです。

110110110110
質問者

補足

代入先の型はintでいいのでしょうか?環境によって切り捨てられてしまわないでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

質問の意味が分かりません. そのまま「ポインタ」として使ってはいけないのですか?

110110110110
質問者

補足

ポインタが指しているアドレスを使いたいのです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • isoファイル作成

    教えてください。 Windows7 32bitの環境では、ImgTool Classicで 作成していましたが、Windows7 64bitにOSを変更したので、 ImgTool Classicが、対応してないので使用できなくなりました。 64bitの環境で、使用できる同様のソフトを教えてください。 よろしくお願いします。

  • windows7 64bitでamplitube3は動作しますか?

    windows7 64bitでamplitube3は動作しますか? 新しいPCを購入しようと検討中なのですが、現在ほとんどのPCは64bitです。 amplitube3は4月ごろは動作しませんとのことでしたが、現在はどうなのでしょうか? amplitubeの動作環境では Windows 7の64bit版では、32bit互換での動作となります(要32bit対応ホスト) と書かれているのですが、32bit対応ホストとは何でしょうか? PCによっては動作しない可能性があるということでしょうか?

  • void*型をキャストしたい。

    void*型をdoubleにキャストしたいのですが方法がわかりません。 何かインクルードなども必要でしょうか?

  • 64bitのOSと64bit対応ソフトとの関係

    windows7 64bit版などの64ビットOSで、過去に使っていたソフトが動かない場合があるなど注意点をよく見かけますが、 windows XP等で動いていた過去のソフトってのは32bit対応じゃないかなと思うんですが 現状、64bitのOSでも動く過去のソフトはすべて32bit/64bitどちらにも対応しているてことなんですよね? では実際64bit対応のソフトだと32bitでも動くソフトだとしても全て64bitで処理されているのでしょうか? よく64bitネイティブなんとかだとか64bitの恩恵を受けるだとか、64bitに最適化されているとか、そういう言葉を見かけますが 64bit OSとアプリケーションソフトの32bit/64bit対応との関係がいまいちつかめません。 どなたか、わかりやすくイメージできるように説明していただけませんでしょうか?

  • windows7の64bitと32bitで

    windows7の64bitと32bitで 私のパソコンはwindows7の64bitを入れています。 32bit対応のwebカメラを買ってしまったのですが、これは使えないのでしょうか? WOW64なるものが入っているので32bitのものも使えると聞いたのですが、USBをつなぐと、デバイスが正しくインストールされませんでしたとなるのですが……。

  • PCの型

    こんにちは。 ドコモのネット回線サービスを購入する為に、自分のPCが対応しているか知りたいです。 写メのPCはWindowsの何という型でしょうか? だいぶ古いと思います… 回答をお願いします!

  • 32bit-64bitマルチブート環境でpstファイル共有

    現在、Windows XP 32bitとWindows Vista 32bitのマルチブートしており 両環境でOutlook 2003を使用しメールの同期がとれるよう【pst】の共有をしています。 近いうちにWindows VistaをWindows 7 64bitへ移行予定で Windows XP 32bitとWindows 7 64bitのマルチブート環境となります。 Windows 7 64bitにはOutlook2007をインストール予定で、この64bit OSで作成したpstファイルは、32bitのXP上のOutlook2003で読み込むことは可能なのでしょうか? まとめるとこのような感じの予定です。 環境1:Windows XP 32bit & Outlook2003 環境2:Windows 7 64bit & Outlook2007 お解りになる方がいましたら回答をお願いします。

  • 型について

    Cの型の中にint と long int がありますけどこの違いは何なのでしょうか?本にはどちらも4ビットの整数(long intは長整数となっていますが)-2147486648~2147483647となっていますが・・。 同様にdouble と long double は何が違うのでしょうか? 初歩的なところですがよろしくおねがいします。

  • windows7 64bitのXPモード

    windows7 64bitのXPモードは32bitになるそうですが、XPモードを使えば、windowsXP32bit対応のプリンターが使えるようになりますか? windowsXP32bit対応のプリンターが使えないので、windows7 Home Prenium 64bit 版をアップグレードしようかどうか迷っています。

  • 7 32bit→10 32bitを64bitに

    Windows7 32bitがインストールされていたノートパソコンを Windows10 32bitにアップグレードしました。 メモリが8GBなので、 Windows64bitにしたいと思っているのですが、 無償アップグレードのようなもので、 32bitから64bitにすることはできますか? CPUがあまり速くないパソコン( 64bitには対応しているMB CPUです) なので、新たにWindowsを購入するのであればあきらめようと思っています。 できる手段があるとすれば、 クリーンインストールなどはすぐできます。 よろしくお願いします

このQ&Aのポイント
  • GE-PON-ONUの電源が入らない状況が続いています。
  • 光加入者線終端装置の電源がここ1ヶ月ほど不安定な状態で、入ったり入らなかったりしています。
  • ひかりTVのサービスやISPぷららに関連する光加入者線終端装置の電源が入らない問題について質問です。
回答を見る