迷迷糊糊的话 2023-03-08 10:23 采纳率: 33.3%
浏览 23

怎么在.c文件中使用另一个文件中已经初始化好的字符数组

这边在一个.c文件中定义和初始化一个二字符数组,想要在其他.c文件中也使用,该怎么完成这个?

char g_idle_icon_name[DSS_INVALID][64] = {
    [DSS_EDIT] = {"side_dss_edit"}, /*none*/
    [DSS_BLF_LIST] = {"side_dss_blflist"},
    [DSS_DTMF] = {"side_dss_dtmf"},
    [DSS_KEY_EVENT] = {"side_dss_keyevent"}, /*none*/
    [DSS_LINE] = {"side_dss_line"},
    [DSS_MCAST] = {"side_dss_mcast"},
    [DSS_MEM_AXFER] = {"side_dss_mem_axfer"},
    [DSS_MEM_BXFER] = {"side_dss_mem_bxfer"},
    [DSS_MEM_CALLPARK] = {"side_dss_mem_callpark"},
    [DSS_MEM_CFW] = {"side_dss_mem_cfw"},
    [DSS_MEM_CONF] = {"side_dss_mem_conf"},
    [DSS_MEM_DTMF] = {"side_dss_mem_dtmf"},
    [DSS_MEM_INTERCOME] = {"side_dss_mem_intercome"},
    [DSS_MEM_MWI] = {"side_dss_mem_mwi"},
    [DSS_MEM_NEWCALL] = {"side_dss_mem_newcall"},
    [DSS_MEM_NONE] = {"side_dss_mem_none"},
    [DSS_MEM_PRESENT] = {"side_dss_mem_present"},
    [DSS_MEM_SPDIAL] = {"side_dss_mem_spdial"},
    [DSS_URL] = {"side_dss_url"},
};

  • 写回答

3条回答 默认 最新

  • 「已注销」 2023-03-08 10:30
    关注

    要在该数组的定义前添加extern关键字,这会告诉编译器这个变量是在其他文件中定义的。

    例如,在其他.c文件中,你可以这样声明变量:

    extern char g_idle_icon_name[DSS_INVALID][64];
    
    
    

    这将使编译器知道g_idle_icon_name数组是在其他文件中定义的,并且可以在当前文件中使用。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月8日

悬赏问题

  • ¥15 openFOAM DPMFoam
  • ¥15 将查询到的值,赋值到table指定行中
  • ¥50 docker容器内部启动shell脚本多命令
  • ¥15 请问python的selenium怎么设置referer
  • ¥15 请教下, VS QT 环境下, QTOPCUA 的源文件报错,这种情况咋查呢 ?
  • ¥20 UNITY webgl关于文档的上传和下载问题
  • ¥15 安霸cv22 + rtl8211f 千兆,udp传输丢包
  • ¥15 关于区块链和边缘环境搭建的相关问题
  • ¥15 windows远程桌面断卡重连软件卡顿问题
  • ¥30 Unity 实现扫描效果