typedef和#define的用法与区别一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT; typedef int ARRAY[10]; typedef (int...
分类:
其他好文 时间:
2014-09-01 12:29:03
阅读次数:
218
typedef 和#define 都常用来定义一个标识符及关键字的别名,但他们之间有关键的区别。
typedef 是语言编译过程的一部分;
#define是宏定义语句,它本身并不在编译过程中进行,而是在这之前的预处理过程就已经完成了。
要理解两者的关键区别,可以这么来考虑 :
把typedef 看成是一种彻底的"封装"类型,相当于产生了一个新的变量类型(这点与struct ...
分类:
数据库 时间:
2014-08-19 09:24:33
阅读次数:
251
好长时间不接触C/C++了,刚才一看,发现练就基本的#define和TypeDef都弄不清了……惭愧的想死!! 1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译...
分类:
其他好文 时间:
2014-08-06 10:41:11
阅读次数:
188
总结一下typedef和#define的区别1.概念 #define 它在编译预处理时进行简单的替换,不作正确性检查。它是预处理指令。 typedef 它在自己的作用域内给一个已经存在的类型一个别名。它是在是在编译时处理的。 例子:#define:#define DO doubleDO val =....
分类:
其他好文 时间:
2014-07-19 00:33:30
阅读次数:
275
类型取别名,还可以定义常量、变量、编译开关都知道两个在某些情况下是相同的 但是define是在预编译时就会处理掉,进行简单的宏替换,不管正不正确都替换掉,末尾没有分号,有分号连分号也一起替换了。 而typedef则是在已经定义的类型中进行别名的定义。 typedef有作用域,define只要是在.....
分类:
其他好文 时间:
2014-07-16 20:52:29
阅读次数:
193
在使用C语言或者C++开发中,我们离不开typedef和define的使用,typedef相当于我们重新定义了一种类型,而define则只是简单的替换,这里我们简单归总一下二者的差别。
首先,我们可以用其他类型说明符对宏类型名进行扩展,但是对typedef的类型名不能扩展,比如
#define demo char
我们可以定义unsigned demo c;完全没问题,但是对于type...
分类:
其他好文 时间:
2014-05-15 01:24:18
阅读次数:
249
typedef和define的详细区别2011-04-19 15:11 firnow
firnow字号:T|T对于都可以用来给对象取一个别名的Typedef和define来说,是有区别的。本文通过对typedef和define的介绍,来给读者详细的讲解它们存在的本质区别,供参考。AD:51CTO学院...
分类:
其他好文 时间:
2014-05-06 00:50:29
阅读次数:
359
1 typedef 和 define
的区别#define是简单的替换;typedef是别名!12#define pchar char *pchar a,b;//展开后 char
*a,b;a为指针,b不是12typedef char* pchar;pchar a,b;//a b均为指针2.注释3接...
分类:
其他好文 时间:
2014-05-03 22:48:35
阅读次数:
401