0

私は非常に単純なことをしようとしていますが、少なくとも私は思っていましたが、成功しませんでした。整数ポインターが指すアドレスを、char ポインターが指すアドレスに割り当てたいと思います。例

//C++

int *pointerint;
char *pointerchar;
pointerchar = pointerint;

//

私は成功せずにこれをいくつかの異なる方法でやろうとしました。

例:

pointerchar = (char *) &pointerint;

コンパイラはそれを除外しますが、ポインターに割り当てられたアドレスはゼロです。それは正しくありません。これを正しく行う方法と、私が間違っていることを誰かに教えてもらえますか。ご協力いただきありがとうございます。

4

2 に答える 2

3

試してください(Cの場合):

pointerchar = (char *) pointerint;
于 2012-09-26T19:06:14.773 に答える
3

C の回答が得られたので、C++ の回答を次に示します。

int *pointerint;  
char *pointerchar;
//initialize pointerint
pointerchar = reinterpret_cast<char*>(pointerint);

pointerintを初期化しないと、未定義の動作が発生することに注意してください。

于 2012-09-26T19:08:31.387 に答える