如果字符可以保存整数,那么为什么需要使用整数?

fud*_*din 6 c types

为什么我们在C中使用整数?

#include<stdio.h>
int main()
{
    char c=10;
    printf("%d",c);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

与以下相同:

#include<stdio.h>
int main()
{
    int c=10;
    printf("%d",c);
    return 0;

}
Run Code Online (Sandbox Code Playgroud)

jjn*_*guy 22

从技术上讲,所有数据类型都以0和1表示.那么,如果它们在后端都是相同的,为什么我们需要不同类型?

嗯,类型是数据的组合,以及您可以对数据执行的操作.

我们有ints代表数字.它们具有+计算两个数字之和或-计算差异的操作.

当你想到一个角色时,按照通常的意义,它代表一个人类可读格式的字母或符号.能够求和'A' + 'h'没有意义.(即使c允许你这样做.)

因此,我们使用不同语言的不同类型来简化编程.它们基本上封装了数据以及合法执行它们的功能/操作.

维基百科有一篇关于类型系统的好文章.


qrd*_*rdl 12

因为char只保留-127到127的数字

  • 这不是类型系统的"真正"原因. (3认同)
  • @qrdl:普通`char`是特殊的 - 允许它是有符号或无符号的(实际上它是来自`signed char`和`unsigned char`的不同类型). (3认同)
  • 它的保证范围是-127到127*或*0到255,所以0到127是便携式范围. (2认同)