C++里min函数只能传整型变量吗
时间: 2023-12-30 17:06:34 浏览: 79
函数 可以交换两个整型变量的内容
不一定,C语言里的min函数可以传递多种数据类型的变量,但是需要在函数声明和定义时指定参数的类型。通常情况下,min函数被定义为泛型函数,可以接受任意类型的参数,但是需要使用void指针来实现类型擦除。例如:
```c
#include <stdio.h>
void* min(void* a, void* b, size_t size) {
if (memcmp(a, b, size) < 0) {
return a;
} else {
return b;
}
}
int main() {
int x = 10, y = 20;
int* p = min(&x, &y, sizeof(int));
printf("%d\n", *p); // 输出10
return 0;
}
```
在这个例子中,我们使用了void指针来传递int类型的变量,并且使用了memcmp函数来比较两个变量的大小。由于void指针不能直接进行算术运算,所以我们还需要传递一个size参数来指定变量的大小。
阅读全文