C语言 写入结构时出现分段错误



我的程序中定义了一个struct

   struct memregion {      无效 *从;      无效 *到;      整数模式;    }

我在我的程序中声明了这个结构的数组struct memregion regions[10] .然后我把它传递给一个函数,作为get_mem_layout(regions, 10)其声明是:

   无效get_mem_layout(结构内存区域*区域,整数大小)

但是,当我尝试将数据写入结构的任何成员变量时,作为

   区域[j].mode = 1;

   无效 *地址;    地址 = (无效 *)0;    区域[j].from = addr;

我收到分段错误。我无法确定为什么会发生这种情况。请帮忙。

更新:删除了完整代码,因为它是分配的一部分。通过@paddy的回答解决了问题。

为什么没有人拿起这个? 还是我错过了什么?

get_mem_layout你做的第一件事是这样的:

regions = 0;

然后你继续以数组的形式访问regions...

你的意思是:

num_regions = 0;

相关内容

  • 没有找到相关文章

最新更新