考虑一个表达式,*p.f表示什么意思?第一印象通常会认为应该是(*p).f,表示指针p所指向的字段f。但实际上"."的优先级是高于"*"的,因此*p.f实际表达的意思是"*(p.f)",表示对p取f偏移,作为指针,然后进行解除引用操作。为了避免这类错误,结构体中引入了"->"符合,用于引用结构体中的元素。"*p->f"比"*p.f"是不是清晰很多呢?
取自《C专家编程》,以上内容仅是对其38页的表格进行了分析重新阐述。
考虑一个表达式,*p.f表示什么意思?第一印象通常会认为应该是(*p).f,表示指针p所指向的字段f。但实际上"."的优先级是高于"*"的,因此*p.f实际表达的意思是"*(p.f)",表示对p取f偏移,作为指针,然后进行解除引用操作。为了避免这类错误,结构体中引入了"->"符合,用于引用结构体中的元素。"*p->f"比"*p.f"是不是清晰很多呢?
取自《C专家编程》,以上内容仅是对其38页的表格进行了分析重新阐述。