ページ 11

アドレスの値を表示したい

Posted: 2013年3月08日(金) 20:01
by ROKI
指定した16進数のアドレスの値を取得したいのですが、うまくいきません。
例外エラーが発生します。何がいけないのでしょうか。
アドバイスください。

コード:

#include <stdio.h>
#include <iostream>
using namespace std;

void main(){
	cout << *(unsigned char *)0xXXXXXX;
}

Re: アドレスの値を表示したい

Posted: 2013年3月08日(金) 20:08
by h2so5
適当なアドレスを指定してどこでもアクセスできるわけではありません。
プロセスから参照できるメモリ領域はOSによって制限されています。

セグメンテーション違反 - Wikipedia

Re: アドレスの値を表示したい

Posted: 2013年3月08日(金) 21:15
by softya(ソフト屋)
ポインタ値を参照するのとポインタの先を参照するのでは話が違うということです。
あと任意の数値をポインタとするのはマイコンぐらいでしか使いません。

こうすればポインタ値としては表示されますが、どれほどの意味があるか疑問です。

コード:

#include <iostream>
using namespace std;
 
void main(){
    cout << (void *)0xFFFFF;
}