结构体变量的引用和赋值
在今天之前,一直以为结构体变量的两种引用和赋值方法是可以随便换的,但其实并不是这样,想想也是,要不然干嘛定义两种方法,太浪费了啊
回归正题,
结构体变量的引用和赋值,有两种形式,一种是用符号“.”,另一种是用符号“->”
一般结构体变量用“.”,结构体指针变量用“->”
举例:一般结构体变量
struct msg
{
int cmd;
char name[20];
char passwd[20];
char toname[20];
char info[1024];
};
例如我们定义了这么一个msg结构体,如果给它的变量赋值,可以这么写:msg.cmd= 1; 这里我们用的符号是“.”
结构体指针变量
struct msg
{
int cmd;
char name[20];
char passwd[20];
char toname[20];
char info[1024];
};
typedef structmsg Msg;
typedef Msg *Vpmsg;
还是上面那个msg结构体,但这里的Vpmsg是结构体指针变量,指向的是msg结构体,如果给它的变量赋值,应该要这么写
Vpmsg->cmd = 2; 这里我们用的符号是“->”。