• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

typedef和define区别

13783538174 2018-05-03 浏览量:1540
typedef和define区别
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  •  #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。
    typedef是在编译时处理的。它在自己的作用域内给一个已经存在的类型一个别名

    • 发布于 2018-05-03
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:13
  • define是定义宏的,typedef是正常的定义结构体之类别名的。

    define前面有#号,typedef前没有。

    • 发布于2018-05-03
    • 举报
    • 评论 0
    • 0
    • 0

  • #define是宏定义.

    typedef是定义结构体.

    • 发布于2018-05-03
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以这么理解:

    define是给你改个名字

    而typedef是给你取个外号;

    值得注意的地方:define是傻瓜式的替换,使用的时候要注意

    • 发布于2018-05-03
    • 举报
    • 评论 0
    • 0
    • 0

  • typedef是定义一个新的类型,define是定义一个新的名字。
    • 发布于2018-05-03
    • 举报
    • 评论 0
    • 0
    • 0

  • define是宏定义,在预处理阶段进行替换,存储在代码段

    typedef是重命名

    • 发布于2018-05-03
    • 举报
    • 评论 0
    • 0
    • 0

  • #define 没有参加编译,在预处理的时候就被替换掉了。
    typedef参加编译和链接。
    typedef是重命名,可以为枚举结构体等等重新命名,提高代码整洁。
    • 发布于2018-05-03
    • 举报
    • 评论 0
    • 0
    • 0

  • #define 是编译器预处理,仅仅是符号替换的作用。

    typedef 是C语言关键字,创建一个新的数据类型。


    用他们两个定义复杂数据类型时,typedef定义的类型可以用sizeof()关键字获得尺寸,但define的不行。

    • 发布于2018-05-03
    • 举报
    • 评论 0
    • 0
    • 0

  • define是在编译前对文本的全局替换,而typedef在编译的时候处理
    • 发布于2018-05-05
    • 举报
    • 评论 0
    • 0
    • 0

  • #define是宏定义,编译器会替换定义的内容.

    typedef是定义一种数据类型的。.
    • 发布于2018-05-05
    • 举报
    • 评论 0
    • 0
    • 0

  • define定义 A 替换成 B

    typedef是其别名,这个define也可以完成

    • 发布于2018-05-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 前面的是宏定义 后面的是结构体定义
    • 发布于2018-05-03
    • 举报
    • 评论 0
    • -1
    • 0

  • define可以理解成简单的替换

    typedef一般用于定义结构体

    • 发布于2018-05-03
    • 举报
    • 评论 0
    • -1
    • 0

相关问题

问题达人换一批

typedef和define区别