gpt4 book ai didi

c - 成员为指针的结构数组

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:43 25 4
gpt4 key购买 nike

我有一个嵌入式系统的 C 代码,我在其中将 Var 的地址分配给结构指针成员。问题是当我执行代码时,我在 structVarArray[1] 中看到了错误的地址,而不是 Var 地址。但是,如果我将 structVarArray 类型修改为 const,那么我会得到正确的地址,但我无法修改 bool 标志,因为它变成了 const。有什么想法吗?

UInt8 Var;
typedef struct
{
UInt8 * ptrVar;
Boolean flag;
}structType;

structType structVarArray[1] =
// const structType structVarArray[1] =
{
{&Var, FALSE}
};

void main(void)
{
// Code using the above array
}

最佳答案

不确定您是如何尝试访问 structVarArray 的,下面是一个工作示例。

#include <stdio.h>

unsigned char Var;
struct structType
{
unsigned char * ptrVar;
bool flag;
};

structType structVarArray[] =
{
{&Var, false}
};

int main(void)
{
*structVarArray[0].ptrVar = 50;

printf("Var = %d\n", Var); // prints 50

structVarArray[0].flag = true;

return 0;

}

关于c - 成员为指针的结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29117095/

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