c++ typedef 相关语法

本文介绍了C++中typedef的作用,强调了其与define的区别,包括基本数据类型别名、结构体别名以及函数指针别名的创建。指出typedef提供类型检查,比define更安全,而define更为灵活。
摘要由CSDN通过智能技术生成

前言

typedef就是为现有的数据类型起别名。提高代码的可读性,简化复杂数据结构。
注意typedef要和define区别开,define是宏替换,编译的时候没有做相关检查,但typedef在编译时会做检查,且define常常是对常量进行替换,typedef是对数据类型进行替换。
且typedef和define在顺序上也有一些区别。

#define M 100;//将M替换为100
#define x first	//define可以做关键字替换
#define y second
//但是typedef 不可以做类似的替换
/*
	typedef first x;
	tyepdef second y;
	这种则是错误的,这种编译器会不知道first,second是什么东西
*/
typedef long long ll;//将ll表示long long数据类型

总之define更加灵活,而typedef更加安全

提示:以下是本篇文章正文内容,下面案例可供参考

typedef的使用

 typedef existing_type new_type_name;

具体区分下来我们可以分为以下几类
1.给基本数据类型取别名

typedef int i;
typedef long long ll;
//编译器会自己判别基本数据类型,所以像long long数据类型即便中间有空格也不会错

2.给结构体等取别名

typedef struct{
	int x;
	int y;
} node;

3.创建函数指针别名
这种操作的语法有点反直觉

typedef void (*func)(int);
//创建名为func,返回值为void,形参味int的函数指针别名
void myfunc(int x){
	return;
}
int main(){
	func c = myfunc;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值