gpt4 book ai didi

c - 头文件中定义的数组,c 文件中未知的数组

转载 作者:行者123 更新时间:2023-11-30 20:59:58 39 4
gpt4 key购买 nike

我为微 Controller 编写代码,程序如下所示,这不是真正的程序,它只是一个展示问题的示例。

我想表明,如果我指向内存中的某个位置并在头文件中定义指针,我将无法调用源文件中定义的数组。

测试.h:

#define arr * (BYTE *)(0X10000);

int function(int i);

测试.c:

#include "test.h"

int function(int i){
arr[5] = 1;
}

问题是:未定义的标识符“arr”

怎么会认不出来呢?

最佳答案

让我假设0x10000是微 Controller 内寄存器的确切起始地址,并且您希望在那里写入一些字节。然后我将#define我的别名如下:

#define MY_REGISTER (BYTE*)((void*)0x10000)

在这种情况下,您可以使用MY_REGISTER宏作为初始值设定项:

BYTE* myRegister = MY_REGISTER;
myRegister[5] = 1;

注意:未指定 MCU 和编译器,我无法测试我的答案。

关于c - 头文件中定义的数组,c 文件中未知的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43913542/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com