是否可以创建一个指向函数指针的指针,即
int32_t (*fp[2])(void) = {test_function1, test_function_2}; // initialize a function pointer
<unknown> = fp;
需要在未知位置写什么?对于“正常”的数组,我可以这样做:
int a[2] = {0, 1};
int* p = a;
非常感谢您的提前帮助。
是否可以创建一个指向函数指针的指针,即
int32_t (*fp[2])(void) = {test_function1, test_function_2}; // initialize a function pointer
<unknown> = fp;
int a[2] = {0, 1};
int* p = a;
typedef void(*func_ptr_t)(void); // a function pointer
func_ptr_t* ptr_to_func_ptr; // a pointer to a function pointer - easy to read
func_ptr_t arr[2]; // an array of function pointers - easy to read
void(**func_ptr_ptr)(void); // a pointer to a function pointer - hard to read
void(*func_ptr_arr [2])(void); // an array of function pointers - hard to read
typedef int32_t FP(void);
FP *fp[2] = { test_function1, test_function2 };
FP **p = fp;
FP
作为指针,但这只是个人喜好问题。 :) - Some programmer dudeFP test_function1, test_function2;
- M.M
fp
声明为函数指针数组? - Some programmer dudeint32_t (**fpp)(void) = fp;
- BLUEPIXY<unknown>
声明为一个普通的函数指针?请记住,数组会衰减为指向它们第一个元素的指针,在你的情况下,fp
会衰减为指向test_function1
的指针。 - Some programmer dude