0

私は GCC 4.4.1 (ISO C99) を使用してコンパイルされたプログラムを使用してきましたが、今日この奇妙なことに気付きました。ターゲット上で問題なく動作しますが、コンパイラは -Wall で警告を発しません。

void mutex_init(mutex_t *mutex)
{
 if(unlikely(mutex->magic == MUTX_MAGIC_CHAR))
    return;

 mutex->owner = NULL;
 mutex->prior = NULL;
 mutex->magic = MUTX_MAGIC_CHAR;
 thread_queue_init(&mutex->queue);
}

みたいにならないかな

*mutex->owner = NULL;
4

1 に答える 1

6

いいえ、magic->ownerと同等(*magic).ownerです。

->演算子は構造体へのポインターを処理するためのものですが、演算子.は構造体を直接処理します。

于 2012-08-04T12:03:32.317 に答える