作业帮 > 综合 > 作业

C语言中什么使一个函数可以定义成对许多不同数据类型完成同一个任务

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 03:44:42
C语言中什么使一个函数可以定义成对许多不同数据类型完成同一个任务
c语言不支持函数重载,因此要想使一个函数定义成许多不同的数据类型,方法1:使用楼上所说的void强转法.方法2:使用宏.注意,无论如何函数名不能定义一样.
比如定义一个返回最大值的函数,支持int,short,float,double……等类型.
首先定义宏:
#define COM(TYPE) TYPE compare_##TYPE(TYPE a,TYPE b) \
{\
\x05return (a > b)?a :b;\
}
然后使用COM(类型)就能定义该类型的函数:
COM(float)
COM(int)
……
后面你就可以使用compare_int(),compare_float()了