数组的元素是指向函数的指针,该如何定义
时间: 2023-06-17 16:06:55 浏览: 57
要定义一个数组,其中每个元素都是指向函数的指针,可以使用以下语法:
```c
return_type (*array_name[size])(parameters);
```
其中,`return_type` 是函数的返回类型,`array_name` 是数组名称,`size` 是数组大小,`parameters` 是函数的参数列表。
例如,下面的代码定义了一个大小为5的数组,其中每个元素都是指向函数的指针,这些函数的返回类型为 `int`,并且没有参数:
```c
int (*func_array[5])();
int function1() {
return 1;
}
int function2() {
return 2;
}
int main() {
func_array[0] = function1;
func_array[1] = function2;
printf("%d\n", (*func_array[0])()); // Output: 1
printf("%d\n", (*func_array[1])()); // Output: 2
return 0;
}
```
在这个例子中,`func_array` 是一个包含5个元素的数组,每个元素都是指向函数的指针,这些函数的返回类型为 `int`,并且没有参数。`function1` 和 `function2` 是两个函数,它们的返回值分别为1和2。在 `main` 函数中,我们将 `func_array` 的第一个元素设置为 `function1`,第二个元素设置为 `function2`。然后,我们通过 `(*func_array[0])()` 和 `(*func_array[1])()` 来调用这两个函数,并打印它们的返回值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)