函数指针返回多维数组的函数

时间:2010-08-13 11:27:38

标签: c function-pointers

关于this问题,我们可以声明一个返回指向数组的指针的函数:

int (*function())[3]

返回Ax3数组,确定。

如何正确地声明指向此类函数的函数指针?

3 个答案:

答案 0 :(得分:4)

        f                 -- f
       *f                 -- is a pointer
      (*f)()              -- to a function
     *(*f)()              -- that returns a pointer
    (*(*f)())[3]          -- to a 3-element array 
int (*(*f)())[3]          -- of int

答案 1 :(得分:0)

请参阅this reference,这非常有帮助。请注意使用typedef

的技术
typedef int (*pfintarray())[3];

pfintarray myFunc() { /* etc

答案 2 :(得分:0)

也许

int (*(*function_pointer)())[3];

(至少gcc似乎明白了)