关于C语言结构类型 struct MSG { int a; int b ; } 结构的赋值 MSG->a=20; 与 MSG.a=20 有区别么?

这里要纠正楼主的错误。MSG为结构类型名称,而只有结构变量名称才作为调用。比如

struct student{ char namep[] ; int number} liming;

这里的student 相当于MSG是结构类型名称,而liming是结构变量名。只有对结构变量名进行赋值,存储运算。

使用箭头和点号,涉及结构成员的引用。箭头为 结构指针和指针运算符的使用 。点号 则为结构变量和成员运算符。

结构类型如果定义的是普通变量则用点号进行引号,如lingming.name

如果其定义的为指针类型的变量名。则用箭头引用.