gpt4 book ai didi

c - 如何在头文件中定义一个字符串数组?

转载 作者:太空狗 更新时间:2023-10-29 16:45:36 61 4
gpt4 key购买 nike

我正在为许多不同的 3 轴传感器编写测试代码。在它们每个的 C 文件中,我定义了相同的 char 字符串:

char axis[3][8] = {"X", "Y", "Z"}

我在“for”循环结果中使用它来打印失败的轴,如下所示:

DEVICETEST_LOG("%s Failed %s axis for Min range\n",device_name[DUT], axis[i]);

我想节省一些空间,我可以在头文件中定义一个字符串数组,以便在所有地方使用。

我已经尝试了很多方法,但我似乎无法在我的头文件中定义一个字符串数组,我可以循环访问它以通过编译。

最佳答案

如果一定要放在头文件中,使用externstatic:

// option 1
// .h
extern char axis[3][8];

// .c
char axis[3][8] = { "X", "Y", "Z" };

// option 2
// .h
static char axis[3][8] = { "X", "Y", "Z" };

Extern 告诉链接器在我们的一个实现文件中(即在一个 .c 文件中)定义了一个名为 axis 的全局变量,我需要引用就是这里。

static 另一方面,告诉编译器相反的情况:我需要能够看到并使用这个变量,但不要将它导出到链接器,所以它不能被 extern 引用或导致命名冲突。

关于c - 如何在头文件中定义一个字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9196801/

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