c - C 中的类型转换

标签 c

类型转换有什么用?为什么需要它?只是从一种类型转换为另一种类型吗?

最佳答案

类型转换的使用可以根据你的程序的需要而定。例如,在 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/

相关文章:

c - 我怎样才能在C中用逗号输入货币?

c - C 中的冒泡排序错误代码! [Deitel C 第 6 版]

在 cmocka 中创建夹具

c++ - 在 C/C++ 上传输数据的最佳(最简单)方法是什么

有人可以帮忙解释一下这个 C one liner 的作用吗?

c - Emacs 中的 Linux 内核标记

c - 使用 C 获取 IP 版本 6

python - 如何使用asm代码为Python构建C库?

c - 读/写自堆

c++ - C/C++ - 覆盖默认函数