zoukankan      html  css  js  c++  java
  • tips~function pointer

    An simple example:

    #include<stdio.h>
    
    int plus(int a,int b)
    {
        return a+b;
    }
    
    int main()
    {
        int (*func)(int,int);
        func=&plus; //point to the function ''plus(int,int)''
        printf("the result is %d
    ",(*func)(4,7));
        return 0;
    }

    Another example:

    #include <stdio.h>
    #define MAX_COLORS  256
    
    typedef struct {
        char* name;
        int red;
        int green;
        int blue;
    } Color;
    
    Color Colors[MAX_COLORS];
    
    
    void eachColor (void (*fp)(Color *c)) {
        int i;
        for (i=0; i<MAX_COLORS; i++)
            (*fp)(&Colors[i]);
    }
    
    void printColor(Color* c) {
        if (c->name)
            printf("%s = %i,%i,%i
    ", c->name, c->red, c->green, c->blue);
    }
    
    int main() {
        Colors[0].name="red";
        Colors[0].red=255;
        Colors[1].name="blue";
        Colors[1].blue=255;
        Colors[2].name="black";
    
        eachColor(printColor);
    }

    For more,go to How do function pointers in C work?-Stackoverflow

    我所理解的生活,就是和喜欢的一切在一起。
  • 相关阅读:
    第二章初识MySQL
    第一章 数据库
    Java&SQL7
    Java&SQL
    Java&SQL6
    Java&SQL5
    Java&SQL4
    Java&SQL3
    Java&SQL2
    博客地址已搬迁
  • 原文地址:https://www.cnblogs.com/suzyc/p/5069280.html
Copyright © 2011-2022 走看看