关于c语言中的变量

本人小白,对一个事情有点不太理解,对于int32这类型的变量,经常可以看到一些项目中在使用,大概了解是为了增强移植性,但是我想知道如果真的是为了移植性的话,那大家以后都不要用int了,都用int32或者int64就好了啊,为什么不这样呢?int存在的必要是什么呢?当然不单指int,意思是所有类似的,比如uint

阅读 2.5k
3 个回答

int8_t int16_t需要stdint.h,int是原生的。
如果某些平台(比如单片机)没有stdint的库,就只能用int

C99才引入的int32_t。的确现在很多时候推荐用int32_t取代int,但是通常情况下只有模块导出接口、网络编程、嵌入式编程对整型长度是有要求的,其他情况没什么要求的,可以用int可以保持代码简洁,int一般是能保证CPU速度运算最快的类型,特别的,unsigned char推荐用uint8_t代替。

我觉得纠结于抛弃不抛弃int没太大必要。语言提供了供我们使用的要素和规范。不代表你不用就是没用的。你现在不用将来可能会用,你不用说不定有其他人在用。假如现在取消了所有的int,那之前的用int编写的软件怎么维护?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题