struct A{
int array_member[100];
//其他数据成员
};
struct B{
struct A *a_ptr;
//其他数据成员
}
那么通过B类型的指针b_ptr访问A类型的array_member的某一个元素array_member[0]则需要使用b_ptr->a_ptr->array_member[0]这种多级指针的形式。如果一个函数中多次用到这个变量的话,可以采用一个临时变量保存这个多级指针:int *array_member_tmp = b_ptr->a_ptr->array_member;之后再需要用的到这个多级指针就可以用这个临时变量来访问了。 如果这个函数中除了这个多级指针以外并没有多少其他需要保留在寄存器中的变量或者值的话,那么这样修改可能并没有提升,这是因为编译器已经帮我们把b_ptr->