结构体函数作用及示例

Posted huachunwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构体函数作用及示例相关的知识,希望对你有一定的参考价值。

一、作用

    1. 提高代码阅读性

    2. 分类管理函数及部分属性

    3. 偏向于c++的面向对象思维

二、使用方法:

    1. 声明结构体函数

    2. 初始化结构体函数

    3. 调用结构体函数

三、示例

#include<stdio.h>

#include<stdlib.h>

 

/*structure declare*/

struct str_func{

    int a;

    int b;

    int (*add)(int a, int b);

    int (*sub)(int a, int b);

    int (*compare)(int a, int b);

};

 

int add(int a, int b){

    return a+b;

}

 

int sub(int a, int b){

    return a - b;

}

 

int compare(int a, int b){

    if (a>b)

        return a;

    else 

        return b;

}

 

/*create a structure and init*/

struct str_func test = {

    .a = 5,

    .b = 7,

    .add = add,              //function pointer point to function

    .sub = sub,

    .compare = compare,

};

 

int main(){

    if (test.compare)

        printf("a b max = %d
",(test.compare(test.a,test.b)));

    if (test.compare)

        printf("a add b = %d
",(test.add(test.a,test.b)));

    if (test.compare)

        printf("a sub b = %d
",(test.sub(test.a,test.b)));

    return 0;

}

编译及运行结果:

技术图片

 

摘自:https://blog.csdn.net/sinat_29891353/article/details/83067747

以上是关于结构体函数作用及示例的主要内容,如果未能解决你的问题,请参考以下文章

分享几个实用的代码片段(第二弹)

C 语言结构体 ( 结构体作为函数参数 | 结构体指针作为函数参数 )

数据结构基础-结构体struct及类型别名typedef的使用

结构体 链表

c语言结构体排序示例

初识 go 语言:方法,接口及并发