我正在编写一个涉及处理字节的C程序。在处理字节时,我对以下问题感到困惑:
字符是否按照它们的ASCII码存储在内存中?例如,'A'的ASCII码为65。因此,它被存储在内存中和整数65一样吗?
如果是这样,机器如何区分字符和整数?
如果字符按ASCII码存储,则ASCII码是一个整数。整数应该占用至少2个字节,那么为什么一个字符只占用1个字节?
最后一个问题是关于不同架构上的整数。在一个16位的机器上,如果1被存储为000...0001,那么在32位的机器上,1是否仍然以相同的方式存储,并在前面添加0?