次の署名でmalloc
呼び出されるラッパーを実装する必要があります。mymalloc
void mymalloc(int size, void ** ptr)
メインプログラムで型キャストがvoid**
不要になり、正しいポインタ(型キャストなし)の所有権がに残るようにするために必要ですmain()
。
void mymalloc(int size, void ** ptr)
{
*ptr = malloc(size) ;
}
main()
{
int *x;
mymalloc(4,&x); // do we need to type-cast it again?
// How does the pointer mechanism work here?
}
さて、渡されるポインターは再び型キャストされる必要がありますか、それとも暗黙的に型キャストされますか?
これがどのように機能するのかわかりません。