typedef struct,typedef struct和直接struct的区别
一、C语言中typedef struct什么意思
struct是结构体的关键字,是用来定义结构体的,而typedef是定义自定义类型的关键字。可以定义自定义类型。typedefenum表示定义了一个枚举型的数据结构,typedefstruct也是定义了一种数据结构,这个数据结构包含多个数据项。typedef的用途typedef可以看作是typedefine的缩写,意思就是定义类型,也可以说它是给已有的类型重新定义一个新的别名,而不是产生一个新的类型typedef和宏定义有些类似,但是又有不同:
1.typedef给出的符号名称仅限于对类型,而不是对值,并不是简单的宏替换,可以用作同时声明指针型的多个对象
2.可以使程序参数化,提高程序的移植性
3.可以使表达式更加简洁,如上面的结构体的定义
4.能够为其它复杂的声明定义一个简单的别名
二、[C\\C++]typedef与struct的区别
举个例子说明:typedefstructabc{intx;inty;intz;}ABC;是将结构体abc类型重新起个名字为ABC,以后再定义同一类型的变量时,可以写成:ABCm,n;与:structabcm,n;作用是一样的。可将复杂数据类型简单化
三、C语言typedef struct的用法
在c中定义一个结构体类型用typedef:
typedefstructStudent
{
intm;
}Stu;
用这种形式定义的时候,在声明结构体变量的时候可用:Stustu1;这种形式也等同于structStrdentstu1;
这里的Stu和structStudent等同,Stu也就相当于structStudent的另一个名字。