通过结构指针访问结构变量分配错误数据
accessing variable of structure through structure pointer assign wrong data
/* c++ file */
extern "C"
{
#include "Param.h"
#include "manager.h"
}
void Manager::Init(){
struct config pParam;
memset(&pParam, 0, sizeof(pParam));
pParam.pulse = 123;
pParam.rotation = 567;
Parameters(&pParam);
}
/* c file */
int max_pulse = 0, rotation = 0;
void Parameters(const struct config *p_param)
{
max_pulse = p_param->pulse; // assign the wrong data here
rotation = p_param->rotation; // assign the wrong data here
}
这是一个非常奇怪的问题。
config 在 Param.h 中定义,管理器类在 manager.h 文件中定义。
运行代码后,我得到最大脉冲 = 567 和旋转 = 0。我不知道为什么这段代码会发生这种情况。我正在使用Visual Studio 2008 express。
任何人都可以帮助我解决这个问题吗?
您收到错误可能是因为您在初始化p_param
成员时Parameters()
参数pParam
函数。
相关文章:
- 如何在模板类函数中分配结构值?
- 在什么情况下,两个堆栈分配的结构对象的 this 点指向同一个地址?
- C++具有动态分配的字符数组的结构
- 基于浅树的数据结构的内存分配器,用于频繁分配和解除分配
- 取消引用 void 指针以将值分配给结构
- 如何为结构字段动态分配字符空间
- 使用列表进行动态结构分配
- 当我尝试为结构分配新指针时出现堆栈溢出错误
- 是否可以将结构分配给向量的索引?
- 如何将结构分配给共享内存i C
- 是否可以将基类的结构分配给派生类的结构
- 无法为结构分配内存
- 如何将结构分配给结构的指针数组
- 将一个结构分配给另一个结构会导致垃圾
- 在C++中根据需要为数据结构分配空间
- 尝试实现一个函数以删除链表中的结构,同时将它前面的结构分配给它后面的结构
- 位字段结构分配意外行为
- 如果我将一个POD结构分配给另一个POD组织,是否存在内存泄漏
- C4473结构分配警告
- 无法将结构分配给结构的指针