任何人都可以解释以下c代码?

时间:2014-11-10 09:23:13

标签: c pointers struct

有人可以告诉我以下c代码的含义吗?

我想知道为什么声明为mesg的变量struct在末尾再次给出一个指针。

struct mesg 
 { 
 long type; 
 char mtext[MAX]; 
 } *mesg;

2 个答案:

答案 0 :(得分:4)

mesg中的

*mesg是指向struct mesg类型变量的指针。

例如,

struct mesg 
 { 
 long type; 
 char mtext[MAX]; 
 } abc;

此处,abc表示struct mesg类型的变量。

Simmilarly,

struct mesg 
 { 
 long type; 
 char mtext[MAX]; 
 } *mesg;
mesg中的

*mesg表示指向struct mesg类型变量的指针。

如果您只是使用其他名称作为变量名称,也许它会更容易,例如

struct mesg 
 { 
 long type; 
 char mtext[MAX]; 
 } *m;

此处,m是指向struct mesg类型变量的指针。

答案 1 :(得分:1)

它相当于struct mesg *mesg,其中mesgstruct mesg类型的指针变量。