C:为什么围绕指针的parens?

Alb*_*rto 2 c

我正在通过本教程学习C ,在那里我偶然发现了这段代码:

int args_assigned = 
    sscanf(input_buffer->buffer, "insert %d %s %s", 
        &(statement->row_to_insert.id),
        statement->row_to_insert.username, 
        statement->row_to_insert.email);
Run Code Online (Sandbox Code Playgroud)

令我困惑的部分是&(statement->row_to_insert.id):

我知道它正在创建一个指向id的指针(在本例中为a unit32),但为什么它被parens包围?他们有什么用?

我为这个微不足道的问题道歉,但我无法找到关于这个特定语法的一些文档,因为我不知道如何调用它.

smb*_*ear 8

这可能只是为了可读性.&(statement->row_to_insert.id)相当于&statement->row_to_insert.id由于C运算符中的运算符优先级->而且.优先级高于&.你可以在这里阅读更多.