typedef char int8; 这样定义的好处?
Posted 我爱喝牛奶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typedef char int8; 这样定义的好处?相关的知识,希望对你有一定的参考价值。
用typedef定义int8代表char;然后用int8去定义其他变量。一旦系统中char不再是占8位的数据时,可重新typedef新的占8位的类型为int8,而所有的用int8定义的8为类型数不用再修改。
随着编译器和操作系统的演化,int/long的尺寸是会变化的,例如对于32位系统,int和long都是32bit(即4字节),但是在64位系统中,int可能就是8字节。
typedef隐藏了int32其实就是long的事实,实际上long的尺寸当然是变化的。当long尺寸不再是32bit的时候,只要重新定义一下int32,你的所有使用int32的代码就都不用改写了。
假定你10年后用128bit的机器,机器里sizeof(long)=32, sizeof(int)=16,sizeof(short)=8,sizeof(tiny)=4。此时只要你的头文件中 typedef long int32;改为 typedef tiny int32; 那么你所有的老代码都不再需要修改。
注:int32即 占32位的类型。
以上是关于typedef char int8; 这样定义的好处?的主要内容,如果未能解决你的问题,请参考以下文章
求教,C中结构体typedef struct char data; TREE* lc; TREE* rc; TREE;
typedef struct bitree char data; struct bitree *lc,*rc; bitree,*btree;