typedef问题(C语言)
【第一个问题】 typedef 是用来给类型取别名的(注意:只是定义别名,不是定义变量)。例如: struct Element { char name[10]; int age; }; typedef Element ElementType; 则以下两种定义变量的方法是完全等价的。 struct Element e; ElementType e; 同样的也可以这样定义别名: typedef Element *ElementPtr; 则以下三种定义变量的方法是完全等价的。 struct Element *p; ElementType *p; ElementPtr...全部
【第一个问题】 typedef 是用来给类型取别名的(注意:只是定义别名,不是定义变量)。例如: struct Element { char name[10]; int age; }; typedef Element ElementType; 则以下两种定义变量的方法是完全等价的。
struct Element e; ElementType e; 同样的也可以这样定义别名: typedef Element *ElementPtr; 则以下三种定义变量的方法是完全等价的。
struct Element *p; ElementType *p; ElementPtr p; 另外,也可以像下面这样,在定义类型的同时,连别名也一起定义好了: typedef struct Element { char name[10]; int age; } ElementType, *ElementPtr; 【第二个问题】 要注意,在C/C 中,“T[2]”这样的表达式,不一定是数组,也可能是指针! 如果T是指针,则T[2]等价于 *(T 2)。
你给的例子里,指针T是有定义的(函数的第一个参数)。收起