类型转换有什么用?为什么需要它?只是从一种类型转换为另一种类型吗?
最佳答案
类型转换的使用可以根据你的程序的需要而定。例如,在 The Doryen Library 中,向用户公开的类型(在头文件中)都是 void*
。在 .c 文件中,它们被转换为任何必要的内容,例如 RNG 工具包中的 mersenne_t。用途很明显:mersenne_t 结构包含永远不应该被弄乱甚至对库用户可见的字段。仅向库用户公开 TCOD_random_t 类型会产生更简洁的 API。
类型转换的另一个例子是向下舍入 float :
float f = 1.5f;
int i = (int)f;
printf("%d",i);
以上将输出1
。
您可以使用它来创建一个简洁的浮点舍入函数:
float round(float f) {
f += (f>0.0f?0.5f:(-0.5f));
return (float)((int)f);
}
关于c - C 中的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4302190/