質問
私は以下の通りであるラインを越えてきた。
char *ch=(char*)3000
私は、この行の意味を知りたい.....
正しい解決策はありません
他のヒント
それはページングを組み込み、システム上のあなたでない限りしている作業、ポインタ、CH、一般的に絶対メモリアドレス3000非常に悪い考えを割り当てられているように見え、あなたが知っているの正確のものです3000メモリ位置に
たぶん、コードの残りの部分を見ることは、関連するだろう...
そのポインタは、(Intelプロセッサ上で)存在するセグメントのに対してであってもよいです。この場合、3000
は、単に私たちはラインを持っていないプログラムで先に定義され、そのセグメントへのインデックスである可能性があります。
これは、システム・アーキテクチャ、環境、OS、コンパイラ、コードの残りの部分(およびプログラマ...)に依存します。
それは明らかではないか。
数値「3000」すなわちch
は、メモリアドレス3000(10進数)に初期化され、チャーポインタにキャストされます。
私の知る限り、3000は特別なアドレス/値ではありません、そしてほとんどの場合、それがセグメンテーションフォールトやごみ値につながるアクセスします。
あなたが表示されている場合は、コードで、それは間違って代わりに(void *型)を使用していることができることを、あなたはキーと値のペアを持つマップの場合には、結果はその場合の整数にキャストすることができると言います。
所属していません StackOverflow