一个char = 1个字节,但是为什么要用4个字节存储呢?

时间:2018-10-06 04:15:13

标签: c size byte

我知道这是一个愚蠢的问题,但是我不明白这个问题。有人可以向我解释吗?

我知道一个char是1个字节。我创建了一个文件sample.txt并填写"1234" 我用fseek和ftell打印文件大小。输出为 4个字节。这意味着字符串"1234"中的每个字符都是 1个字节

但是当我这样写printf("%d", sizeof('4'));时,输出为4。因此,char 4的存储空间为 4个字节

那么从文件读取的char 4和源代码中的char 4有什么区别?

***我的问题在这里被标记为重复: Why are C character literals ints instead of chars?

但是不是。另一个主题没有解释为什么计算机将文件中的char分别视为1个字节。

0 个答案:

没有答案