C中的不同演员

Different cast in C

您能解释一下“正常的 C 转换”和“类似 C 转换的函数”之间的区别吗?它们如何实施?如果我没记错的话,正常的转换,例如在 char 和 int 之间将是这样的:

char a;
int b = 1;

a = (int)b;

谢谢

C 没有像强制转换那样的函数,C++ 有。

您在这里展示的“C 风格转换”是程序员通过设置特定类型表达式的数据类型来执行的显式类型转换,称为显式类型转换。显式类型转换也称为类型转换。

c 中的类型转换按以下形式完成:

(int)expression;

您可以将其转换为任何有效的 c 数据类型,表达式可以是常量、变量或表达式。 它还会创建一个临时右值,这意味着在左值上使用这种类型的转换可能会导致编译器 warning/error 即:左值需要作为赋值的左操作数