struct circle {
int center;
int radius;
};
struct circle *cir;
cir.center
cir->radius
(cir.radius)
(cir->center)
最后 4 行有什么区别?我知道 cir.center 正在访问变量 cir 指向的结构体circle 的成员。 cir->radius 相同,但由指针变量 cir 指向。但是 () 是做什么的呢?
最佳答案
由于 cir
被声明为指向结构的指针,即 struct Circle *cir;
你必须使用 ->
运算符访问结构的元素
如果cir
仅声明为类型结构的变量,即struct Circle cir;
那么你必须使用.
运算符访问结构元素
as ()
在这里没有任何区别,所以 (cir.radius) = cir.radius
和 (cir->center)=圆形->中心
关于c - cir.radius 和 (cir.radius) 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36328147/