C语言中typedef函数的简单用法

typedef为C语言的关键字,可以为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)


1、利用typedef给变量起别名
也就是说它可以给某一个变量类型自定义一个名称,比如有char ch,即符ch,可以通过typedefchar定义成任何想定义的名称,例如:typedef char CHARRR;,之后char ch就可以写成是CHARRR ch

2、typedef用于结构上

例如:

typedef struct complex{
	float real;
	float imag;
}COMPLEX;

上述代码首先定义了一个结构,该结构是由两个float类型的变量组成。complex是结构的标记,COMPLEX可以看作该结构的名字。一般情况下结构的创建模板如下:

struct complex{
	float real;
	float imag;
};

我们为了后续使用方便,建立一个结构声明,struct complex COMPLEX。这样一来使用起来比较方便,我们如果需要调用real的值就可以通过COMPLEX.real来获取。
以上方式的简化,就可以写为:

struct complex{
	float real;
	float imag;
}COMPLEX;

当然上述这些写法中complex这个标记是可以省略的。在此结构上面加上typedef关键字:

typedef struct complex{
	float real;
	float imag;
}COMPLEX;

此时,便可使用COMPLEX类型代替complex结构来表示复数

总结来说:typedef struct 是为了使用这个结构体方便,在上一篇C语言符合类型之结构篇(结构指针)中聊过这个事情,当结构的创建和结构变量的声明合二为一时,其结构标识就可以省略掉,但是如果结构模板使用的非常多的时候,就要使用带标记的形式,或者使用typedef

具体区别在于:
若这样来定义结构体的话。

struct node {
	int a;
	int b;
};

在申请node (node只是一个结构模板,或者叫结构布局)的结构变量时,需要这样写struct node n;
若用typedef,可以这样写

typedef struct node {
	int a;
	int b;
} Node;

那么在申请变量时就可以这样写为:Node n;
区别就在于使用时,是否可以省去struct这个关键字。一般在用C实现队列等等写法中均有涉及,比较重要

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南霹雳堂雷家雷无桀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值