【发布时间】:2011-02-16 00:43:15
【问题描述】:
看,我了解到函数的基本类型被提升为 int,float 被提升为 double,但是等一下,如果我将 char 传递给如下函数:
char character;
my_func (character)
void my_func(字符缓冲区)
每次我提到缓冲区时都是一个整数???如果是,请稍等,我编写的所有将缓冲区称为 char 的代码呢?它是从 int 转换为 char 吗? 指针、数组和结构枚举联合等呢? 我对此非常害怕,因为我猜想使用其他类型代替 int 是一个错误,因为我所做的一切都会被转换为 int。对吧?
非常感谢。
【问题讨论】:
-
没有。当您将一种类型分配给另一种类型时,就会发生强制转换。这里没有int。缓冲区是一个字符,并且总是应该是一个字符。您无需担心。