You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C语言中声明含4个无参void函数指针的数组?

声明并初始化含4个无参void返回函数指针的数组

你的写法已经很接近了,问题出在初始化的语法上——C语言里数组初始化需要用=连接声明和初始化列表。

正确的声明+初始化写法

如果是全局变量或者带static修饰的局部变量,直接这样写:

void (*a[4])() = {insert, search, update, print};

普通局部变量在C99及之后的标准里也可以用这种方式初始化。

先声明再赋值的写法

如果需要分开操作,也可以先声明数组,再逐个给元素赋值:

// 声明一个包含4个函数指针的数组,指针指向无参、返回void的函数
void (*a[4])();

// 逐个赋值
a[0] = insert;
a[1] = search;
a[2] = update;
a[3] = print;

声明含义拆解

void (*a[4])() 的结构可以拆成:

  • a[4]:表示这是一个有4个元素的数组
  • (*...):数组的每个元素都是函数指针
  • void ():指针指向的函数是无参数、返回值为void的类型

内容的提问来源于stack exchange,提问作者Alexandros Fourtounis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 16:59:52