gpt4 book ai didi

c++ - 为什么 C 字 rune 字是 int 而不是 char?

转载 作者:行者123 更新时间:2023-11-30 16:27:41 27 4
gpt4 key购买 nike

在 C++ 中,sizeof('a') == sizeof(char) == 1。这很直观,因为 'a' 是字 rune 字,并且 sizeof(char) == 1 由标准定义。

但是在 C 语言中,sizeof('a') == sizeof(int)。也就是说,看起来 C 字 rune 字实际上是整数。有谁知道为什么?我可以找到很多关于这个 C 怪癖的提及,但没有解释它为什么存在。

最佳答案

关于same subject的讨论

"More specifically the integral promotions. In K&R C it was virtually (?) impossible to use a character value without it being promoted to int first, so making character constant int in the first place eliminated that step. There were and still are multi character constants such as 'abcd' or however many will fit in an int."

关于c++ - 为什么 C 字 rune 字是 int 而不是 char?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52675648/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com