typedef和define的用法和区别

一、define的用法

        #define为一宏定义语句,通常用它来定义常量(包括无参量与带参量),它本身并不在编译过程中进行,#define 是预处理指令,在编译处理是进行简单替换,不作确性检查,不管含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。 

        例如: #define PI 3.1415926

        程序: area=PI*r*r;  替换3.1415926*r*r

        #define语句数字9写字母g预处理照样带入

二、typedef的用法

        typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间。typedef是在编译时处理的。它在自己的作用域内给一个已存在的类型一个别名,而#define只是简单地替换。

        例如:typedef unsigned int uint;      这样就为unsigned int 型引入新助记符uint,以后使用uint直接代表unsigned int 型。

        例如: typedef PI 3.1415926;            编译器会直接报错,原因并非已存在类型,其次“3.1415926” 不符合命名规则。

        综上,typedef只是为了增加可读性而为标识符另起的新名称(仅仅只是个别名),而#define原本在C中是为了定义常量。


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值