C语言中,结构体成员变量的点和箭头

C语言中,调用成员变量用点还是用箭头,取决于当前的ID是指针还是结构体本身。

如:

typedef struct {
	float height;
	float weight;
} Person;

int main(int argc, char *argv[]) {
	Person jiushen;
	Person *lengleng = (Person *)malloc(sizeof(Person));
	//注意这里结构体指针的声明,要分配空间
	jiushen.weight = 60;
	jiushen.height = 175;
	lengleng -> height = 165;
	(*lengleng).weight = 50;
	printf("%f, %f\n", jiushen.weight, lengleng->weight);
}

可以看出,对于指针lengleng,

lengleng -> weight

等价于

(*lengleng).weight