C语言中"."和"->"的区别

来源:互联网 发布:windows内部运行机制 编辑:程序博客网 时间:2024/06/09 18:01

经常搞不懂”.”和”->”的区别,今天终于解决了这个问题

“.”只需要声明一个结构体,格式是结构体类型名+结构体名。然后用结构体名”.”域名就可以引用域了
代码

struct date {    int month;    int day;    int year;}today;    today.month = 11;    today.day = 11;    today.year = 1111;

“->”需要声明一个结构体,格式是结构体类型名+结构体名,并且声明一个指针指向该结构体

struct date {    int month;    int day;    int year;} myday;struct date p = &myday;(*p).month = 11;p->month = 11;              //这两个表达式意思相同