码迷,mamicode.com
首页 > 其他好文 > 详细

结构体函数作用及示例

时间:2020-01-03 12:22:59      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:detail   main   lse   fonts   sub   编译   c++   printf   运行   

一、作用

    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\n",(test.compare(test.a,test.b)));

    if (test.compare)

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

    if (test.compare)

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

    return 0;

}

编译及运行结果:

技术图片

 

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

结构体函数作用及示例

标签:detail   main   lse   fonts   sub   编译   c++   printf   运行   

原文地址:https://www.cnblogs.com/huachunwei/p/12143970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!