@typedef用法小总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

@typedef用法小总结

在C中,struct不能包含函数。在C++中,对struct进行了扩展,可以包含函数。

typedeff可以声明新的类型名来代替已有的类型名,但却不能增加新的类型

typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
  在编程中使用typedef目的一般有两个,一个是给变量提供一个易记且意义明确的新名字(类型有新别名,方便变量的定义),另一个是简化一些比较复杂的类型声明。
typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。区别就在于使用时,是否可以省去struct这个关键字。如:
若struct node {}这样来定义结构体的话,在申请node 的变量时,需要这样写,struct node n;
若用typedef,如,typedef struct node{}NODE; 则在申请变量时就可以这样写,NODE n;

结构也是一种数据类型, 可以使用结构变量, 因此, 像其它类型的变量一样, 在使用结构变量时要先对其定义。
定义结构变量的一般格式为:

struct 结构名
{
类型 变量名;
类型 变量名;
...
} 结构变量;//结构名是结构的标识符不是变量名。

另一种常用格式为:

typedef struct 结构名
{
类型 变量名;
类型 变量名;
...
} 结构别名;

1.首先:

在C中定义一个结构体类型要用typedef:

typedef struct Student
{
int a;
}Stu;

于是在声明变量的时候就可:Stu stu1;
如果没有typedef就必须用struct Student stu1;来声明
这里的Stu实际上就是struct Student的别名。
若这里不加上Student,struct Student stu1;就不能在使用了。

typedef struct
{
int a;

}Stu;

但在c++里很简单,直接

struct Student
{
int a;

};

于是就定义了结构体类型Student,声明变量时直接Student stu2;


2.

在c++中如果用typedef:

struct Student
{
  int a;
  
}stu1;//stu1是一个变量,使用时可以直接访问stu1.a
typedef struct Student2
{
  int a;
  
}stu2;//stu2是一个结构体类型,stu2则必须先 stu2 s2; 然后 s2.a=10;


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值