在我的嵌入式C程序中,我有一个结构体:
那么我不太确定如何存储地址...
我可能会放弃并在结构中添加指针变量。
编辑: 我想避免在结构体中添加指针,因为我还需要回去重写flash读/写函数以保存指针。这些函数相当复杂,并且目前正在工作,所以我不想碰它们!
struct var{
unsigned long value;
unsigned long length;
+ More
}
这些结构体的数组用于保存变量。大多数存储的变量仅存储在'value'中,因此长度设置为1。
然而,其中一些变量是数组,我尝试将起始地址存储在'value'中。
unsigned long lookup[10];
variables[x].length = 10;
那么我不太确定如何存储地址...
variables[x].value = lookup;
// lookup is a pointer so I cant put it into value
或者
variables[x].value = (unsigned long)lookup;
// value reads back through sprintf+uart as '536874692'
// which couldnt be a valid memory address!
我可能会放弃并在结构中添加指针变量。
编辑: 我想避免在结构体中添加指针,因为我还需要回去重写flash读/写函数以保存指针。这些函数相当复杂,并且目前正在工作,所以我不想碰它们!