掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
同一のアドレスを示すポインタについて (ID:52103)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
同一のアドレスを示すポインタについて 環境:WindowsXP、VC.NET、MFC不使用 DIBを使うプログラムを作っています。 DIBとは直接関係の無い質問内容かもしれませんがお願いします。 //グローバル変数 LPBITMAPINFO lpInfo; LPBYTE lpBuff; LPBYTE lpBit; //ウインドウプロシージャ内 case WM_CREATE: // 必要なメモリをまとめて確保 lpBuff=(LPBYTE)GlobalAlloc(GPTR,sizeof(BITMAPINFO)+128*128*3); //BitmapInfoのアドレスを設定 lpInfo=(LPBITMAPINFO)lpBuff; //画像データのアドレスを設定 lpBit=(LPBYTE)(lpBuff+sizeof(BITMAPINFO));//<-----(1) これをデバックで見ると lpBuff 0x00145400"" lpInfo 0x00145400 lpBit 0x0014542c"" となっていました lpBuffとlpInfoは同じアドレスなので(1)を lpBit=(LPBYTE)(lpInfo+sizeof(BITMAPINFO));//<----(2) と書き換えて見たのですがデバッカだと lpBuff 0x00145400"" lpInfo 0x00145400 lpBit 0x00145b90"" となり、lpBitのアドレスが最初と異なり、メモリのエラーが発生しました lpBuffとlpInfoは同一のアドレスを示すため、 (1)と(2)は同じ動作をする思っていたのですが違うのでしょうか? また、アドレスの後部に付いている""はどういった意味なのでしょうか? よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.