Linux 拨号vps windows公众号手机端

c语言结构体函数指针如何赋值

lewis 8年前 (2017-08-13) 阅读数 8 #程序编程
文章标签 c语言

在C语言中,结构体函数指针赋值需要按照以下步骤进行:

  1. 定义结构体类型,包含函数指针成员。例如:

    typedef struct {
        int (*func)(int, int); // 函数指针成员
    } MyStruct;
    
  2. 定义函数,与结构体函数指针的签名相匹配。例如:

    int Add(int a, int b) {
        return a + b;
    }
    
  3. 创建结构体对象,并将函数指针赋值给结构体函数指针成员。例如:

    MyStruct myStruct;
    myStruct.func = Add;
    

这样,myStruct.func 就指向了 Add 函数。可以通过调用 myStruct.func 来执行 Add 函数。

完整示例代码如下:

#include <stdio.h>

typedef struct {
    int (*func)(int, int); // 函数指针成员
} MyStruct;

int Add(int a, int b) {
    return a + b;
}

int main() {
    MyStruct myStruct;
    myStruct.func = Add;

    int result = myStruct.func(3, 4);
    printf("Result: %d\n", result);
    
    return 0;
}

运行结果为:

Result: 7
版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门