struct circle {
int center;
int radius;
};
struct circle *cir;
cir.center
cir->radius
(cir.radius)
(cir->center)
最后4行有什么区别?我知道cir.center正在访问变量cir指向的结构圆的成员。 cir-> radius相同,但由指针变量cir指向。但是()有什么作用?
最佳答案
由于cir
被声明为指向结构的指针,即struct circle *cir;
,因此您必须使用->
运算符来访问结构的元素
如果cir
仅声明为类型结构的变量,即struct circle cir;
,则必须使用.
运算符访问结构的元素
因为()
在这里没有任何区别,所以(cir.radius) = cir.radius
和(cir->center)=cir->center