#define和typedef区别及定义整理

(1)#define       是宏定义命令(在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”)

                                                                                                     标识符:是指用来标识某个实体的一个符号

                 在编译预处理时替换

                                                    例:#define      PI     3.141592653

                                                                      (标识符)     (字符串)

                                                               S=PI*r*r;

                                                              编译预处理时将PI换成3.141592653。

(2)typedef(声明类型,是关键字)

                                 当与结构体struct一起用时,格式为:

                                              typedef     struct{

                                                                       ......

                                                                       } 狗;

                        就是将复杂的声明定义为一个别名,目的是为了是源代码易于阅读和理解。

                        就是把结构体struct {.......}这一部分,用“狗”表示,用到结构体时,直接用一个“狗”就可以表示结构体的一大段代码。

补充:①注意:#define 最后没有分号;

           ②# 用来把参数转换成字符串;

               ## 用来连接前后两个参数,把它们变成一个字符串

          ③结构体struct定义 :

                               struct 结构名

         {

         //成员表列,就是数据集合

         };

猜你喜欢

转载自blog.csdn.net/lexiaowu/article/details/81193924