定义C中的全局数组

定义C中的全局数组

我希望定义一个大小为1字节的数组,该数组可用于多个.c文件,因此我需要一个全局数组。我知道全局变量的方法:

代码语言:javascript复制 //"globals.h"

extern uint8_t GlobalVar; //Declaration

//"globals.c"

uint8_t GlobalVar = 0; //Definition因此,对于我的数组,我首先使用ty以至f来定义一个字节:

代码语言:javascript复制 typedef uint8_t byte; //in "globals.h" right at the beginning然后继续对数组进行声明和定义:

代码语言:javascript复制 //"globals.h"

extern byte GlobalAr[10];

//"globals.c"

byte GlobalAr[0] = 0b00001111;但是我得到了这些错误:

错误1 'GlobalAr‘的冲突类型

第2条消息“GlobalAr”的先前声明在这里

错误3无效的初始化程序

如果我在一个函数中尝试相同的事情,它就会非常好地工作,即:

代码语言:javascript复制 typedef uint8_t byte;

void function()

{

byte GlobalAr[10];

GlobalAr[0] = 0b00001111;

GlobalAr[1] = 0b11110000;

}Q1:你们能帮我弄清楚如何定义全局数组并正确初始化它吗?

Q2:为什么第二条路起作用,而第一条却不行?

任何帮助都会感激的!提前感谢!

相关文章

一般从哪里可以查看数据库的信息,监控数据库的各项指标?
在线教育平台软件有哪些?一文全解析
谁知道365足球网站

在线教育平台软件有哪些?一文全解析

🕒 06-23 👁️ 8838
嫪毐事件女主最新發聲,勇敢承認會開直播回應,更多内幕也被曝光