0

私は私のOSの本でこのコードに出くわしました:

void *foo()
{
     // does something

     pthread_exit(NULL);
}

の意味は何void *fooですか?それは、関数が型の何かへのポインターを返すことを意味しますvoidか?

4

2 に答える 2

4

いいえ、それは関数が型指定されていない型のポインタを返すことを意味します- void*

これは「汎用」ポインタ型です。データへの任意のポインタをにキャストしvoid*て、呼び出し元に戻すことができます。ただし、ポインターを逆参照するには、ポインターを非voidポインター型(、、、など)にキャストする必要がint*ありlong*ますchar*

于 2012-10-28T04:32:58.793 に答える
2

void *あるタイプへのポインタを返すことを意味します。どちらが指定されていません。使用するために、ポインタは適切なタイプにキャストされてから使用されます。それvoid *fooは単に間隔の問題であるという事実。

この説明をチェックしてください

于 2012-10-28T04:32:57.477 に答える