c - 为什么我们不用一个短整型来表示一个返回值呢?

标签 c types return

<分区>

很多书都说我们绝不能在算术和函数定义上浪费一点。我看到很多从 0 到 255 的小数被定义为 char 类型变量,甚至更大的正数被定义为 unsigned short int 类型。

为什么我们不使用 unsigned short int 或 char 类型来代替 int 来表示返回值?

我试过:

char main(){return 0;}

没关系。

最佳答案

返回 short 甚至 char 而不是 int 几乎没有任何节省。在绝大多数 C 实现中,机器寄存器将用于保存返回值,返回 short 而不是 int 的唯一区别是该寄存器将保持未使用状态。 (顺便说一句,这也是为什么 main 返回 char 对你“有效”的原因,尽管标准不保证它会。)

实际上,返回 short 的唯一原因是当您有一个特定的算法时,该算法有不同的原因使用 short 而不是 int ,这不是很常见。

郑重声明,同样的事情也适用于函数参数。

关于c - 为什么我们不用一个短整型来表示一个返回值呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42990525/

相关文章:

c - 可疑指针转换警告

c - readdir 和 getdents 接口(interface)——读取的字节数?

php - Google Cloud SQL 数据类型

javascript - 在 JavaScript 函数中获取正确的值时出现问题

java - 返回枚举值时,Java 返回什么?值(value)还是引用?

c++ - 按地址返回时,这不超出范围吗? (SDL)

c - 气体组件 x86。将字符转换为二进制字符串

android - 如何在 C 中编写 ffmpeg 命令 shell

C程序在字符串中查找子字符串

python - Python 中的类型检查