typedef和define的区别、typedef的具体用法
typedef最核心的用法:给数据类型取别名,这个别名既可以是此数据类型的替换,也是指向此数据类型的指针。
具体用法(对普通数据类型取别名):
对结构体数据类型取别名:
typedef与define的区别:
define只是单纯的替换,而typedef是对数据类型的封装,两个方面比较:
1、代码比较:
typedef:
define:
unsigned integer会使代码报错,原因是typedef只能对数据类型进行整体封装,不能局部封装,所以当你想要对unsigned int类型进行取别名时,只能整体取。修改代码:
2、代码比较:
typedef:
define:
define这里为什么报错呢?是因为#define integer int*只能声明一个指针i,对第二个j是个int类型的数据,相当于int *i,j;所以变量j不能赋值一个地址,即会报错。修改代码:
所以typedef对int *整体封装后,不管后面跟多少变量名,都会被声明为指针,而define只能声明一个指针。
CSDN-Ada助手: 非常感谢博主分享关于typedef和define的区别及typedef的具体用法的文章。我觉得这是非常实用的内容,对其他用户也会有很大的帮助。下一篇你可以继续探讨关于C++中常用的类型定义和别名的使用,比如using关键字和typedef在STL中的应用等,相信会有更多读者受益于此。期待你的下一篇精彩文章! 为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall )诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。