在C中,为什么在这个例子中有围绕(int)的括号?

decimal d = 2; int i = (int) d; 

我已经多次看到这些括号围绕数据类型。

为什么不使用int i = int d;

(int)的用法称为强制转换 (或类型转换 )。 它基本上告诉我们, 转换 d的值 到一个int (整数)并将其存储到i

换句话说,它是一种将类型转换为另一种类型的方式(取决于转换的有效性)。

BTW, int i = int d; ,因为它不是一个有效的声明。

您正在将d转换为从decimal类型中键入int。 这种情况也发生在使用静态类型的其他语言中。

它是一种使用强制转换操作符将数据类型从一种类型转换为另一种类型的方法,用法如下:

  • (结果数据类型)要转换的表达式