1

したがって、次のコードを使用して、malloc を使用せずにメモリをヒープに追加しようとしています (サイズは関数内の unsigned int パラメーターであり、設定された数値ではありません)。

void * temp = sbrk(sizeof(void*)+sizeof(unsigned int)+size);

ここで、temp の void * の値を NULL に設定したいのですが、やろうとすると

*(void *)temp = NULL;

私のコンパイラは、void * を逆参照できないと言っています。このエラーを解決するにはどうすればよいですか?

4

2 に答える 2

2

の値を変更する場合はtemp、を使用しますtemp=NULL

を指すNULLアドレスを入力する場合は、を使用します。temp*(void**)temp=NULL

于 2012-02-13T20:43:50.057 に答える
2

ではなくtempとして宣言しました。void*void**

として宣言されているvoid**場合*temp = NULLは、動作します。

于 2012-02-13T20:41:25.153 に答える