首页 > 编程语言 > 详细

C语言:typedef 跟 define 的区别

时间:2015-10-13 10:34:18      阅读:198      评论:0      收藏:0      [点我收藏+]

typedef (int*) pINT1;
以及下面这行:
#define pINT2 int*


pINT1 a,b; 与pINT2 a,b; 定义的a,b 有差别吗

 

 

回答:

typedef作为类型定义关键字,用于在原有数据类型(包括基本类型、构造类型和指针等)的基础上,由用户自定义新的类型名称。

    在编程中使用typedef的好处,除了为变量取一个简单易记且意义明确的新名称之外,还可以简化一些比较复杂的类型声明。比如:

#define 像是移花接木  pINT2 a,b 就应该是   int *a,b;  直接替代。
typedef 则是将int* 这个类型重新命名。

如果是define的话,pINT2 a,b;预处理完之后就是int *a,b;那么这个a是int指针变量,而b是int变量;
但是如果是typedef的话,a和b都是int指针变量。

C语言:typedef 跟 define 的区别

原文:http://www.cnblogs.com/wskgjmhh/p/4873681.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!