2012-02-13 17 views
1

次のコードを使用して、mallocを使用せずにヒープにメモリを追加しようとしています(サイズは関数内のunsigned intパラメータであり、voidの値を設定する方法**

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

は、今私は私がしようとすると、ただし、NULLであることを一時中のvoid *の値を設定したい

*(void *)temp = NULL; 

私のコンパイラは私に語った私ができることはないのボイド間接参照*。このエラーを解決するにはどうすればよいですか?

+2

'*(void **)temp = NULL;'を試してください。 –

答えて

1

tempの値を変更する場合は、temp=NULLを使用してください。

tempが指すアドレスにNULLを挿入する場合は、*(void**)temp=NULLを使用してください。

+0

完全に解決しました。ありがとう!! – mrswmmr

1

tempは、ではなく、void*と宣言しています。

void**と宣言された場合は、*temp = NULLとなります。

関連する問題