日志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*的效果一样,所以也需要加*;

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务