gpt4 book ai didi

c - 如何在 C 中找到 const 声明的数组的大小?

转载 作者:太空狗 更新时间:2023-10-29 15:31:12 27 4
gpt4 key购买 nike

在 file1.c 中,我有数组

const uint8 myArray[] =
{
0x4b, 0x28, 0x05, 0xbf,
...
0xff, 0xff, 0xff, 0xff
};

在file2.c中,我需要使用数组如下:

uint8* buffer = myArray;
uint32 length = ???

我试过 length = sizeof(myArray),但这会导致以下错误:
错误:“sizeof”对不完整类型“const uint8[] {aka const unsigned char[]}”的无效应用。由于它是常量,我可以实际计算条目的数量,但我需要以编程方式进行,因为这个常量可能会在开发过程中进一步改变。

最佳答案

file1.c中,导出长度:

const size_t myArrayLength = sizeof(myArray);

然后在某处添加声明(在 file1.c 的头文件中,或者直接在 file2.c 中),例如:

extern const size_t myArrayLength;

关于c - 如何在 C 中找到 const 声明的数组的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56193014/

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