骑驴的啊凡提
2020-10-25 17:21
采纳率: 0%
浏览 110

给结构体数组赋值显示无法访问内存?

我定义了一个结构体,定义了一个结构体指针,给指针分配空间之后,对其初始化,系统会报错,

0x00B81B70 处(位于 DataStructure.exe 中)引发的异常: 0xC0000005: 写入位置 0xCDCDCDD1 时发生访问冲突。

结构体定义:

typedef struct {
    unsigned int weight;
    unsigned int parent;
    unsigned int  lchild, rchild;
}HTNode,*HuffmanTree;

指针赋值过程

HuffmanTree* p;
    int m = 2 * a - 1;//全部节点的个数
    p = (HuffmanTree*)malloc((m + 1) * sizeof(HTNode));
    if (!p)return 0;
    p[0]->parent = 0;

点开p的详细的值得情况后,显示无法访问内存

这是怎么回事?到底哪里错了。。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

相关推荐 更多相似问题