码迷,mamicode.com
首页 > 编程语言 > 详细

C语言:typedef 跟 define 的区别

时间:2015-10-13 10:34:50      阅读:162      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!