求教构造体的一个小问题。

来源:百度知道 编辑:UC知道 时间:2024/06/15 05:12:39
比如:
typedef struct _A {
int a;
int b;
} A;

A test;

test.a和test->a的区别是?

比如为什么在这里
int XXX( A *str )
{
str->a = 0;
只能用“->”而不能用“.”
}

我被这两个符号搞的晕头转向的,有人能帮我详细讲解一下这两个的用法区别吗?谢谢。

.是用于结构体类型或类对象类型;->用于结构体指针类型或类对象指针类型。
str狠明显是指向A的指针,test狠明显是结构体类型,至于test->a我不认为这样做是对的,即使编译能通过这也不规范

对像用.
对像指针用->