日志17

关于typedef和#define的学习

typedef相当于给一个类型起一个别名,可能会改变类型的一些性质;

#define则相当于直接将一个或一段字符替换为一个新的样子,而不改变其性质;

#include<iostream>
using namespace std;
#define BB int*
typedef int* AA;
int main() {
 int* o,p,q;
 AA a,b,c;
 BB l,m,n;
 }

如果用第一种形式定义变量,那么只有o是int*类型,p和q是int类型,需要在每一个变量前面都加上一个*才能都定义为int*类型;

但是用typedef将int*取了一个AA的别名后,就可以直接用AA定义,不用加*;

如果通过#define将int*替换为BB后,其只是相当于输入了int*,与直接输入int*的效果一样,所以也需要加*;

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 11:16
点赞 评论 收藏
分享
05-23 19:02
吉林大学 Java
点赞 评论 收藏
分享
06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务