圆括号对C中指针的影响是什么

Hao*_* Lu 3 c pointers

例如,有什么区别

(*user1).id
Run Code Online (Sandbox Code Playgroud)

*user1.id
Run Code Online (Sandbox Code Playgroud)

有一个例子来解释会好得多.谢谢!

Car*_*rum 12

  1. (*user1).iddereferences user1,它必须是指向包含id字段的结构的指针,并id从该结构中获取字段.100%相当于user1->id.

  2. *user1.id获取字段id,user1其中必须是包含字段的结构(不是指向结构的指针)id.然后它取消引用该值,这意味着该id字段必须具有指针类型.

所有这些都是简单的C运算符优先级.的.操作者(通过引用元素选择)具有比更高的优先级*(间接/解引用)运算符.