数据结构中 为什么要用typedef int datatype ,而不直接用int

用typedef来为类型起个别名,如“typedef long INDEX;”。给long这样的类型起别名主要目的不是简化程序的书写,它有两个用处:一是表明该类型的特殊作用,二是将来有可能要改变这种类型(比如提高精度),如果直接声明为long型则失去了程序的可惟护性——每一个变量的声明都要改动;而声明为INDEX则使维护程序变得十分简单——只要改一下typedef语句即可。

比如

typedef int datetype

然后下面有N个函数

都是类似这样的

datetype typeadd(datetype a, datetype b)
{
    return a + b;
}

datetype typediff(datetype a, datetype b)
{
    return a - b;
}

datetype func1(datetype a, datetype b) {
    datetype tmp;
    tmp = typeadd(typediff(a,b), typediff(a,b));
    return typeadd(tmp, tmp);
}

如果你没用datetype而是直接用的int
当你希望这些函数计算浮点数的时候,你就必须把所有代码里的所有int都换成float或者double

而且一旦有地方换漏了就很容易出错,丢失精度什么的

但是如果你用的是datetype,你希望这些函数计算浮点数的时候,只需要修改一句话,就是

把typedef int datetype改为typedef float datetype或者typedef double datetype

===========================================================================
typedef用法地址: https://baike.baidu.com/item/typedef/9558154?fr=aladdin

  • 73
    点赞
  • 115
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值