c语言泛型的最佳实践案例

   2024-10-06 4170
核心提示:在C语言中实现泛型的最佳实践案例是使用宏定义和函数指针。以下是一个简单的例子:#include stdio.h// 定义一个泛型的结构体,包

在C语言中实现泛型的最佳实践案例是使用宏定义和函数指针。以下是一个简单的例子:

#include <stdio.h>// 定义一个泛型的结构体,包含一个void*指针和一个函数指针typedef struct {    void* data;    void (*printFunc)(void*);} GenericData;// 定义一个打印整数的函数void printInt(void* data) {    printf("%d\n", *(int*)data);}// 定义一个打印浮点数的函数void printFloat(void* data) {    printf("%f\n", *(float*)data);}int main() {    int intValue = 10;    float floatValue = 3.14;    // 创建一个存储整数的泛型结构体    GenericData intData = {&intValue, printInt};    // 调用打印函数    intData.printFunc(intData.data);    // 创建一个存储浮点数的泛型结构体    GenericData floatData = {&floatValue, printFloat};    // 调用打印函数    floatData.printFunc(floatData.data);    return 0;}

在这个例子中,我们定义了一个泛型的结构体GenericData,该结构体包含一个void*类型的指针和一个函数指针,用于调用相应类型的打印函数。通过创建不同类型的泛型结构体,并传入相应的数据和打印函数,实现了对不同类型数据的泛型处理。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号