究竟什么是C/C++中的类型转换?编译器如何检查是否需要显式类型转换(并且是否有效)?它是否比较了值所需的空间?如果我有例如:
int a;
double b = 15.0;
a = (int) b;
Run Code Online (Sandbox Code Playgroud)
如果我没记错的话,double值需要更多的空间(是8字节?!)而不是整数(4字节).并且两者的内部表示完全不同(在两个/尾数上的补码).那么内部会发生什么?这里的例子非常简单,但在C/C++中有很多类型.
如果我可以将例如FOO转换为BAR,编译器如何知道(或程序员)?
我在C中遇到了一些我不熟悉的语法.声明变量后long ja,该变量随后被分配给使用ja=(long)(3.14).
long ja;
ja=(long)(3.14);
Run Code Online (Sandbox Code Playgroud)
赋值给已经声明的变量的变量类型(long)或(变量类型有什么意义)?