How define an array of function pointers in C

前端 未结 5 1583
野趣味
野趣味 2020-11-28 02:05

I\'ve a little question. I\'m trying to define an array of function pointers dynamically with calloc. But I don\'t know how to write the syntax. Thanks a lot.<

5条回答
  •  没有蜡笔的小新
    2020-11-28 02:38

    Assuming all your functions are of type void ()(void), something like this

    typedef void (*fxptr)(void);
    fxptr *ptr; // pointer to function pointer
    ptr = malloc(100 * sizeof *ptr);
    if (ptr) {
        ptr[0] = fx0;
        ptr[1] = fx1;
        /* ... */
        ptr[99] = fx100;
    
        /* use "dynamic array" of function pointers */
    
        free(ptr);
    }
    

提交回复
热议问题