宏定义陷阱与typedef
Posted CoverSky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了宏定义陷阱与typedef相关的知识,希望对你有一定的参考价值。
#define int_ptr int* int_ptr point1,point2;
经预处理后,第二行变为 int * point1,point2.
这就意味着,point1 是一个指向int的指针,但是 point2却是 int类型的了。
所以,宏定义的连续变量的定义中 ,不能保证所有的变量为同一样的类型!!
typedef不同,他可以保证连续性。
typedef char * String String str1,str2;
--------------------------------------------------------------------------------------------
另外:
#define INT int unsigned INT number;
这句话是没有问题。
但是:
typedef int INT unsigned INT number;
这就是错误操作!
以上是关于宏定义陷阱与typedef的主要内容,如果未能解决你的问题,请参考以下文章
C语言陷阱与技巧第18节,函数式宏定义的“缺陷”,没有参数类型检查,产生多次副作用怎么办?
C语言陷阱与技巧第7节,define函数式宏定义不能用普通函数代替吗?为什么要使用do{}while包裹代码