c - 函数取决于 C 中的数据类型

标签 c

<分区>

是否有可能在 C 中定义依赖于数据类型的函数。我想定义一个函数,它根据一维数组或二维数组作为参数使用不同的过程。

最佳答案

现在最简单的方法是使用带有 _Generic 的宏.这是一个显示如何使用它的示例。

#define cbrt(X) _Generic((X), \
          long double: cbrtl, \
              default: cbrt,  \
                float: cbrtf  \
)(X)

因此,根据类型,此宏将替换为对 cbrtl()cbrtf()cbrt() 之一的调用

关于c - 函数取决于 C 中的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28704149/

相关文章:

c++ - 如何在 C/C++ 中(取消)转义字符串?

c - getPath() Dijkstra 算法(C 语言)

c - 在操作受限的微 Controller 上生成对数间隔值

c - C中的fwide函数是什么

c - C代码中的异常

c - 在 16 位微处理器上,我应该使用 short 数据类型而不是 int 吗?

c - 16 位机器上可以使用 32 位整数吗?

c - 在尝试理解 3D 游戏引擎(如 id Tech 3)的代码时,您是如何开始的?

c - 没有得到预期的段错误

c - Visual Studio调试执行路径