In C, why are there parentheses around (int) in th

2019-09-01 02:34发布

问题:

This question already has an answer here:

  • What exactly is a type cast in C/C++? 4 answers
decimal d = 2;
int i = (int) d;

I've seen this several times in which parentheses are wrapped around data types.

Why not just use int i = int d;?

回答1:

The usage of (int) is called casting (or, type-casting). It is essentially telling that, interpret convert the value of d as to an int (integer) and store it into i.

In other words, it is a way of converting a type to another one (subject to validity of the conversion).

BTW, int i = int d;, as is, is not a valid statement.



回答2:

You're casting d to type int from type decimal. This happens in other languages as well that use static typing.



回答3:

It is a way of converting data type from one type to another using cast operator, usage is as follows:

  • (result data type) expression to be converted