gpt4 book ai didi

c - 向 C 中的 const 数组添加新元素

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:57 32 4
gpt4 key购买 nike

我有 2 个程序,分别是主要程序和子程序。主呼子。我在主进程中创建了如下所示的 key

static const unsigned char key[] = {4,1,8,9,1,61,64,220};

我正在展示它

printf("\nkey:\t %X\n", key);

结果是:4018EF

子进程

static const unsigned char key[] = {4,1,8,9,1,61,64,220};

我正在展示它

printf("\nkey:\t %X\n", key);

结果是:401061

为什么结果不同?

实际上,我将尝试从子元素中添加最后一个元素,例如 220,然后比较两个键。我的意思是 main 将是 {4,1,8,9,1,61,64,220} 而 child 将是 {4,1,8,9,1,61,64}。在 for 循环中,我将尝试添加最后一部分。如果它命中,那么它会说“OK Equals”。 (我试过但失败了)现在我很困惑,因为结果不同。请帮助我。

最佳答案

它们是不同的,因为它们是static,所以每个 C 文件都有自己不同的数组。

您(无效地)将地址打印为无符号数(打印地址的正确方法是使用 %p 并转换为 void *),所以您会看到这两个数组位于不同的位置。

您不能“添加”到常量数组。您可以为另一个元素保留空间并将其设置为某个稍后替换的“未使用”值,但当然您不能这样做并保留它 const 因为您将不得不编写为了这样做到数组。

关于c - 向 C 中的 const 数组添加新元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20657368/

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